Условного тега нет, но есть фильтр.Если вы подключитесь к фильтру '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()
.