Как разрешить ссылки в тексте подписи к изображениям – отдельный код и плагин Links in Captions

Как разрешить ссылки в тексте подписи к изображениям - отдельный код и плагин Links in Captions | n-wp.ru

В WordPress можно к изображениям добавлять текстовые подписи. Но эта подпись может быть только текстовой, никакие ссылки в них использовать нельзя – если вы попробуете это сделать, то система их просто вырежет, сделав обыкновенным текстом.

Как разрешить ссылки в тексте подписи к изображениям - отдельный код и плагин Links in Captions

Однако если подпись является не просто парой слов, а пояснением к изображению, его описанием, то резонно сделать так, чтобы в текст подписи можно было вставить ссылку.

В поисках решения этой задачи я вышел на два решения, схожих по действию – отдельный код, и плагин.

Начну с кода, найденного тут. Идея такова – при отображении страницы автоматически заменять текст в подписи, выделенный определенными символами, на ссылку и анкор. Вот так:

текст до ссылки ##http://url.com##анкор## текст после ссылки

Сделать это можно с помощью специальной функции, вставленной в файл functions.php:

add_shortcode('wp_caption', 'LinkInCaption');
add_shortcode('caption', 'LinkInCaption');
 
function LinkInCaption($attr, $content = null) {
$output = apply_filters('img_caption_shortcode', '', $attr, $content);
if ( $output != '' ) return $output;
extract(shortcode_atts(array(
'id'=> '',
'align' => 'alignnone',
'width' => '',
'caption' => ''), $attr));
if ( 1 > (int) $width || empty($caption) )
return $content;
 
$text=explode('##',$caption);
    $limit = 1+3*(ceil(count($text)/3)-1);
    $text=explode('##',$caption,$limit);
    if( count($text) >= 3 ) :
    $outtext=$text[0];
    for($i=1; $i<count($text); $i=$i+3):
    if(strpos($text[$i],'http://')===false) {
    $outtext = $outtext.$text[$i+1].$text[$i+2]; }
    else { $outtext = $outtext.''.$text[$i+1].''.$text[$i+2]; }
    endfor;
    $caption = $outtext;
    endif; 
 
if ( $id ) $id = 'id="' . esc_attr($id) . '" ';
return '
' . do_shortcode( $content ) . '

' . $caption . '

'; }

Вы можете использовать такой способ вставки ссылок в текст подписи, используя стандартный шорткод caption.

Вторым способом является плагин Links in Captions с аналогичным принципом работы, но с более широкими возможностями – можно добавлять не только ссылку с анкором, но и прописывать в ссылке rel, target и title.

Пример простого использования:

текст до ссылки {link url="http://www.example.com"}анкор{/link} текст после ссылки

Пример более сложного использования:

текст до ссылки {link url="http://www.example.com" title="Текст подсказки" target="_blank" rel="nofollow"}анкор{/link} текст после ссылки
[dl url=”http://wordpress.org/extend/plugins/links-in-captions/” title=”Links in Captions”]
Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*