Intereting Posts
Как использовать WP_query с несколькими идентификаторами сообщений? Изображения, вставленные в страницы, отображаются на дисплее: none Многоязычный сайт WordPress для работы с другими плагинами Как добавить атрибут onclick в список флажков? Как сделать каждую категорию дочерней? Пользовательский текст ссылки wp_get_archive Резервное копирование базы данных localhost (wamp) (phpmyadmin) из файлов жесткого диска в окнах? Для WordPress? Как извлекать значения из базы данных WP на основе выбранного значения параметра путем onchange с помощью PHP? Создать (настраиваемый) тип сообщения, доступный только по пользовательскому запросу Зарегистрируйте скрипт в одном плагине и запишите его в другой Должен ли я удалять переходные процессы из таблицы wp_options? Проблема при отображении значения метаболизма для постоянной позиции post? Запустить JS-код в пользовательском логе Показать последнюю измененную дату базы данных Невозможно создать SubMenu

скорректировать the_excerpt на основе страницы шаблона

Как я могу написать условия для настройки the_excerpt на разных страницах?

Например, на моей page-products.php я хочу, чтобы the_excerpt , скажем, 40 .

 function custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 ); 

Это if и else условия, чтобы это произошло?

Вы можете добавить его прямо к шаблону перед заголовком в большинстве случаев …

 <?php /* Template Name: Products */ ?> <?php add_filter( 'excerpt_length', function( $length ) { return 10; }, 999); get_header(); ?> 

Они также должны работать, если вы хотите добавить functions.php :

Способ 2: В цикле

 $slug = get_page_template_slug($post->ID); if('page-products.php' == $slug) { add_filter( 'excerpt_length', function( $length ) { return 20; }, 999); } 

Способ 3: Вне петли

 if ( is_page_template( 'page-products.php' ) ) { add_filter( 'excerpt_length', function( $length ) { return 20; }, 999); } 

Это также можно использовать для получения шаблона ….

 global $post; $template = get_post_meta($post->ID,'_wp_page_template',true); 

Или, возможно, даже это (непроверенное):

 add_action('get_header', function() { if ( is_page( array( 37, 'Products' ) ) ) { add_filter( 'excerpt_length', function( $length ) { return 20; }, 999); } }, 1); 

Или, как видно здесь , вы можете создать свою собственную функцию, чтобы можно было определить длину выдержки на нужную основу на количество символов.

 function excerpt($limit) { $excerpt = explode(' ', get_the_excerpt(), $limit); if (count($excerpt)>=$limit) { array_pop($excerpt); $excerpt = implode(" ",$excerpt).' ...'; } else { $excerpt = implode(" ",$excerpt); } $excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt); return $excerpt; } 

Отображение:

 <?php echo excerpt(50); ?>