Проверьте, вызывается ли функция the_excerpt () на определенной странице - PullRequest
1 голос
/ 11 июня 2010

Как проверить, вызывается ли функция the_excerpt () в конкретном примере страницы на странице архива.

Дело в том, что я хочу знать, используется ли функция the_excerpt () для отображения содержимого или используется ли the_content () для отображения содержимого на страницах архива / категории.

Как это проверить. Есть ли условный тег

1 Ответ

1 голос
/ 11 июня 2010

Условного тега нет, но есть фильтр.Если вы подключитесь к фильтру 'get_the_excerpt', ваша функция запустится.Итак, в качестве примера:

if(is_archive() || is_category()){
  add_filter( 'get_the_excerpt', 'my_custom_excerpt_filter' );
}

function my_custom_excerpt_filter( $excerpt ){
  if( !defined( 'USED_EXCERPT' ) ){
    define( 'USED_EXCERPT', true );
  }
}

Затем, чтобы проверить, использовалась ли выдержка, в любое время после первой итерации цикла, используйте это:

if(defined('USED_EXCERPT') && USED_EXCERPT){
  //If the excerpt was used, this if statement returns true.
}

Это не 'Это очень элегантный или полезный способ сделать это, но это то, как вы бы это сделали.Если вам нужно знать, будет ли шаблон использовать отрывок до его загрузки, вам нужно будет перехватить его раньше, используйте fopen(), чтобы прочитать файл шаблона и найти the_excerpt().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...