2017-02-20 2 views
0

Я хочу возможность настроить вывод the_excerpt, удалив ссылку read more, но только если она находится внутри виджета.WordPress: настройка выдержки внутри виджета

Прецедент сценарий выглядит так:

В моих пользователей сайта могут размещать свои отчеты путешествий. Я представляю эти отчеты двумя способами: Published и Future. Список Published отчетов появляется на странице, где я не хочу никаких изменений в excerpt, но сообщения Future появляются на боковой панели, которая является настраиваемым плагином. Здесь я хочу excerpt, но без ссылки read more.

Следующая функция в functions.php удаляет read more ссылку, проверяя post_type, но от везде! Я хочу, чтобы эта ссылка была видимой в обычном списке.

function custom_excerpt_more_link($more){ 
     global $post; 
     if($post->post_type == 'travelog') { 
      return '..'; 
     } else { 
      return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>'; 
     } 
    } 

Есть ли вариант, что бы сказать WordPress, чтобы принять эту ссылку, только если excerpt визуализируется внутри виджета?

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

enter image description here

The excerpt с поста под названием Мой первый White Christmas - Поездка в Манали в декабре 2013 года должны иметь read more ссылку, пока я не хочу это для тех, которые перечислены в правой боковой панели. Это возможно?

UPDATE:
Модифицированный код:

function custom_excerpt_more_link($more){ 
     if(dynamic_sidebar('upcoming-stories-sidebar')) { 
      global $post; 
      if ($post->post_type == 'travelog') { 
       return '..'; 
      } else { 
       return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>'; 
      } 
     } 
     else { 
      return '<a href="' . get_the_permalink() . '" rel="nofollow">&nbsp;[more]</a>'; 
     } 
    } 

    add_filter('excerpt_more', 'custom_excerpt_more_link'); 

Скриншот: enter image description here

ответ

0

Было бы лучше, если вы используете CSS дисплей NONE свойства. Сначала найдите почтовую обертку; предположим, что обычная почтовая форма обертки .custom и ее css будет

.custom a { 
    display:none 
} 
+0

Спасибо за ваш ответ. Код действительно создал бесконечный цикл предстоящих рассказов внутри моей области содержимого! А боковая панель не видна. Отредактировано мое сообщение с новым снимком экрана и обновленным кодом. –

+0

Какой плагин или коды вы используете для создания контента в боковой панели? –

+0

Я не использую готовый плагин. Это настраиваемый плагин с использованием WP_Query: '$ q = новый WP_Query (массив ( 'post_type' => 'travelog', 'posts_per_page' => 6, 'orderby' => 'date', 'post_status' => array ('future') )); ' –

Смежные вопросы