Pereiti prie turinio

Wordpress pagrindinių funkcijų paketimas


Rekomenduojami pranešimai

Tai va norėčiau pakeisti dvi funkcijas iš failo: wp-admin/includes/media.php

 

Nekeičiant pačio failo ir po wordpress atnaujinimo, kad niekas nesusigadintu noriu panaudoti pluginą. Tačiau nelabai iki galo supratau kaip padaryti taip, kad jei pluginas aktyvuotas naudotu funkciją iš mano plugino, o ne iš media.php.

 

Gal kas galėtu pabandyti paaiškinti man ką reiktu daryti kitaip?

 

Plugino kodas:

 

<?php
/*
Plugin Name: img
Plugin URI: http://test.com
*/

add_filter( 'image_attachment_fields_to_edit', 'my_image_attachment_fields_to_edit', 1, 2);
add_filter( 'media_handle_upload', 'my_media_handle_upload', 1, 4);

function my_media_handle_upload($file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false )) {

$time = current_time('mysql');
if ( $post = get_post($post_id) ) {
	if ( substr( $post->post_date, 0, 4 ) > 0 )
		$time = $post->post_date;
}

$name = $_FILES[$file_id]['name'];
$file = wp_handle_upload($_FILES[$file_id], $overrides, $time);

if ( isset($file['error']) )
	return new WP_Error( 'upload_error', $file['error'] );

$name_parts = pathinfo($name);
$name = trim( substr( $name, 0, -(1 + strlen($name_parts['extension'])) ) );

$url = $file['url'];
$type = $file['type'];
$file = $file['file'];
$title = $name; 
$content = "";

// use image exif/iptc data for title and caption defaults if possible
if ( $image_meta = @wp_read_image_metadata($file) ) {
	if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
		$title = $image_meta['title'];
	if ( trim( $image_meta['caption'] ) )
		$content = $image_meta['caption'];
}

// Construct the attachment array
$attachment = array_merge( array(
	'post_mime_type' => $type,
	'guid' => $url,
	'post_parent' => $post_id,
	'post_title' => $title,
	'post_content' => $content,
), $post_data );

// This should never be set as it would then overwrite an existing attachment.
if ( isset( $attachment['ID'] ) )
	unset( $attachment['ID'] );

// Save the data
$id = wp_insert_attachment($attachment, $file, $post_id);
if ( !is_wp_error($id) ) {
	wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) );
}

return $id;

}
function my_image_attachment_fields_to_edit($form_fields, $post) {
if ( substr($post->post_mime_type, 0, 5) == 'image' ) {
	$alt = get_post_meta($post->ID, '_wp_attachment_image_alt', true);
	if ( empty($alt) )
		$alt = '';

	$form_fields['post_title']['required'] = true;

	$form_fields['image_alt'] = array(
		'value' => $alt,
		'label' => __('Alternate Text'),
		'helps' => __('Alt text for the image, e.g. “The Mona Lisa”')
	);

	$form_fields['align'] = array(
		'label' => __('Alignment'),
		'input' => 'html',
		'html'  => image_align_input_fields($post, get_option('image_default_align')),
	);

	$form_fields['image-size'] = image_size_input_fields( $post, get_option('image_default_size', 'medium') );

} else {
	unset( $form_fields['image_alt'] );
}
return $form_fields;
}
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...