Intereting Posts
Subversion, github и т. Д. Системы управления версиями / репозитории Автоматически вставлять функцию php в post $ the_content Запретить сценарии плагина на конкретном шаблоне? Лог попадает на изображения рекламодателя Ссылка на следующую запись? Можно ли перечислить вложения в конце конечной точки под URL с помощью специального шаблона? Изменение содержимого главной страницы через WordPress Используя wp_query, можно ли заказать таксономию? Программно создавать меню с пользовательской ссылкой Установить статическую страницу в качестве страницы профиля пользователя? Есть ли плагины для публикации в стиле StackExchange для WordPress? Таможенная система типа пользовательских сообщений – Постоянная ссылка генерирует, но сообщения не найдены Пожарный запрос на странице с URL-адресом ajax Создайте страницу параметров с двумя полями загрузки изображений Как я могу опубликовать обновления статуса страницы поклонника Facebook в своем блоге WordPress?

Пользовательская длина выдержки на главной странице

Я думал, что у меня это работает, но, к сожалению, это не так. Мне нужна моя статическая домашняя страница, чтобы иметь длину выдержки 50 и каждая другую страницу, чтобы иметь одну из 20. Вот мой код:

function custom_excerpt_length( $length ) { if(is_front_page()) $content='excerpt'; return 50; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 ); 

Я могу сказать, что это не работает, потому что на seamlessthemes.com выдержка составляет 50, но на seamlessthemes.com/themes выдержка по-прежнему равна 50. Пожалуйста, обратите внимание, что по какой-то причине эта тема по умолчанию по умолчанию 20, поэтому страница с темами все равно должна быть 20.

Заранее спасибо!

Как работают фильтры

Фильтры – это просто точка, в которой вы можете взять некоторое значение, которое задано (для чего-то) в ядре (например, the_excerpt() ), открытое для модификаций.

Так…

 $some_var = apply_filters( 'change_this_var', 50 ); 

… просто говорит:

»Некоторым var« установлено значение 50 , но когда вы добавляете обратный вызов фильтра на change_this_var , вы можете получить, изменить и вернуть значение.

Excercise

Вот пример, основанный на вашем вопросе, который получает переменную как параметр в определении функции (определение функции «обратный вызов фильтра»). Затем он изменяет (в случае – здесь мы используем условные теги) и возвращает его.

 add_filter( 'excerpt_length', 'wpse61271_custom_excerpt_length', PHP_INT_MAX -1 ); function wpse61271_custom_excerpt_length( $length ) { return ( is_front_page() XOR is_home() ) ? 50 : $length; }