2013-12-18 2 views
1

для моего сайта я установить длину поста выдержки с помощью функции:Удалить сообщение Отрывок для конкретной страницы

add_filter('excerpt_length', 'my_excerpt_length'); 
function my_excerpt_length($len) { return 125; } 

Это устанавливает пост длину отрывка повсеместно по всему сайту. Однако для определенного идентификатора страницы Id должен показывать всю длину сообщения.

Моя мысль включить и ElseIf похожие на:

function my_excerpt_length($len) { 
    if (is_page(39370)) { 
     return 1000; 
    } else { 
     return 125; 
    } 
} 

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

ответ

2

Вы можете использовать get_the_excerpt() фильтр, чтобы заменить фрагмент с содержанием:

add_filter('get_the_excerpt', 'so20668477_get_the_excerpt', 10, 1); 
function so20668477_get_the_excerpt($excerpt) 
{ 
    if(is_page(39370)) 
     $excerpt = apply_filters('the_content', get_the_content()); 

    return $excerpt; 
} 
+0

Я попробовал этот подход, добавив эту новую функцию в мою дочернюю тему, и она заманила мою страницу. Не уверен, что я что-то упустил. Кроме того, что представляют собой 10, 1? – user3116834

+0

Должен работать. Включите 'WP_DEBUG' и проверьте, какую ошибку вы получаете. '10' является приоритетом фильтра,' 1' является аргументом n ° аргументов, см. Http://codex.wordpress.org/Function_Reference/add_filter#Parameters – diggy

+0

да, я должен настроить среду разработки сегодня, работал непосредственно на живого сайта, и он получает хороший объем трафика. Спасибо за помощь, я продолжу работу с рекомендациями, опубликованными в этой теме. Этот поток покажет вам более подробную информацию о том, как я реализовал код, который вы отправили: http://bit.ly/1bf6v4f – user3116834

0

Вы можете использовать:

is_page('page'); 

где 'page' является заголовок поста

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