Динамические ссылки на изображения в зависимости от выдержки / одного сообщения в Wordpress - PullRequest
1 голос
/ 10 июля 2011

Я работаю над новой темой Wordpress;индексное представление по умолчанию отображает выдержки из последних сообщений.Некоторые сообщения будут касаться загрузки файлов и содержат изображение, описание и ссылку на место, где размещены описанные файлы.Изображения для этих типов сообщений будут привязаны ссылками (другие типы сообщений могут содержать изображения, которые не связаны).

Для этих типов сообщений я хотел бы, чтобы изображения ссылались на полные просмотры сообщений их записи (single.php) при отображении в отрывках, но для того же изображения, чтобы ссылаться на внешнюю ссылку для загрузки при отображениичасть полного просмотра поста.

Я не уверен, как именно я это сделаю.Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Поскольку у меня не определены миниатюры сообщений, и поскольку сообщения могут содержать или не содержать несколько изображений, я в итоге сделал это следующим образом:

Я отключил теги в отрывках (у меня был плагин отрывков)включив теги в отрывке), затем я добавил следующее в файл function.php:

function catch_that_image() {  
    global $post, $posts;  

    $first_img = '';  ob_start();  
    ob_end_clean();  

    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', 


    $post->post_content, $matches);  

    $first_img = $matches [1] [0];  
    if(empty($first_img)){ 
    //Defines a default image    
    $first_img = "/images/default.jpg";  }  
    return $first_img;}

Затем я добавил следующее в основной файл шаблона индекса между заголовком сообщения и отрывком / содержимым:

<p><a href="<?php the_permalink() ?>" alt="<?php _e('Read full article', 'theme');?>" title="<?php _e('Read full article', 'theme');?>"><img src="<?php echo catch_that_image() ?>"></a></p>    

Случайное примечание: оно обернуто в

по стилю оформления.

Еще раз спасибо за то, что направили меня в правильном направлении.

0 голосов
/ 10 июля 2011

если ваша тема использует 'the_excerpt ()' для главной страницы, я думаю, вы можете добавить фильтр в functions.php и с помощью регулярного выражения изменить ссылку href со ссылки на скачивание на постоянную ссылку.

что-то вроде,

function replace_link($content) {
   if (is_home())
      return preg_replace('regular_expression', get_permalink(), $content);
   else
      return $content;
}
add_filter('the_excerpt', 'replace_link');

Я не могу создать реальное регулярное выражение, не зная, как выглядит ваша ссылка для скачивания

...