WordPress как на ладони

Как по кнопке «Добавить медиафайл» добавлять к ссылке на изображение атрибут title?

По кнопке «Добавить медиафайл» ссылка выводится в виде:

<a href="http://wp.old-land.ru/wp-content/uploads/144.jpg"><img и т.д.

Хотелось бы, чтобы она выглядела так:

<a href="/wp-content/uploads/144.jpg" title="ЗАГОЛОВОК ИЗОБРАЖЕНИЯ"><img и т.д.

Пробовала использовать хук img_caption_shortcode по аналогии с ответом на вопрос «изменить код вставки изображения вставляемой по кнопке «Добавить медиафайл»:

add_filter( 'img_caption_shortcode', 'filter_function_name_6592', 10, 3 );
function filter_function_name_6592( $output, $attr, $content ){
	$content = str_replace("<a","<a title='". $attr['caption'] . "'", $content); 
	return $content;
}

Не работает.
Убирать http пока не пробовала.

0
Ольга Денисова
5.3 года назад
  • 0
    kolshix779 paxtoy.com

    вот кусок кода для alt - можете подкорректировать под title

    а вообще загаловок заполняется автоматически, и его нужно вызывать через php

    get_post_meta( id картинки, 'post_title' );

    //автозаполнение полей при вставке медиафайлов start
    function wph_auto_alt_title_caption($attachment_ID) {
    
    	$filename   = $_REQUEST['name'];
    	$withoutExt = preg_replace('/\\.[^.\\s]{3,4}$/', '', $filename);
    	$withoutExt = str_replace(array('-','_'), ' ', $withoutExt);
    	$alt = "PaxToy " .  $withoutExt;
    	$my_post = array(
    		'ID'           => $attachment_ID,
    	//  'post_title'   => $withoutExt,  // title          // заполняет
    	//  'post_excerpt' => $withoutExt,  // подпись и alt  // caption     // заполняет
    	//  'post_content' => $withoutExt,  // описание       // description // заполняет
    		'alt'          => $alt
    
    	);
    	wp_update_post($my_post);
    
    	//атрибут alt
    	update_post_meta($attachment_ID, '_wp_attachment_image_alt', $alt);
    }
    add_action('add_attachment', 'wph_auto_alt_title_caption');
    //автозаполнение полей при вставке медиафайлов end
    Ольга Денисова 5.3 года назад

    А вы точно отвечали на тот вопрос, который я задавала?
    Я как раз интересовалась, ГДЕ нужно вызвать заголовок через php, чтобы он попал и в атрибут title тега "a" ТОЖЕ.

    И этот код, исправленный для title, ничего не меняет. Я бы проверила на alt, но у тега "a" нет атрибута alt, а в теге "img" он и так заполнялся автоматически.

    Ольга Денисова 5.3 года назад

    Вы точно отвечали не на тот вопрос. Я нашла, где работает этот код - при загрузке изображения. А мне надо при вставке загруженного изображения (у которого уже давно ручками заполнены все поля) в пост.

    Ольга Денисова 5.3 года назад

    Поговорю сама с с собой...
    Но если кому-то тоже надо:

    // При вставке медиафайла в пост добавляет атрибут title к коду ссылки
    add_filter( 'media_send_to_editor', 'filter_function_name_5765', 10, 3 );
    function filter_function_name_5765( $html, $send_id, $attachment ){
    	return str_replace( "<a","<a title='" . get_the_title($send_id) . "'", $html ); 
    } 
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация