is_feed()
Перевіряє запитується чи зараз фід.
Хуків немає.
Повертає
true|false
.
Використання
if( is_feed( $feeds ) ){ ... }
-
$feeds
(рядок) - Тип виду, який необхідно перевірити.
Приклади
#1 Зміна запиту для фідів
Припустимо, у нас є довільне поле skip_rss_flag
, в нього ми вказуємо значення true, якщо потрібно виключити пост з RSS стрічки.
Тоді, використовуючи умовний тег is_feed(), ми можемо змінити запит для фідів. Для цього вставимо нижченаведений код у файл теми functions.php і вкажемо пост, який потрібно виключити з RSS, довільне поле skip_rss_flag
зі значенням true (або будь-яке інше значення):
add_filter('posts_where', 'skip_post_from_rss'); function skip_post_from_rss($where){ // Виходимо, якщо це не фід. if( ! is_feed() ) return $where; Global $wpdb; $where .= " AND $wpdb->posts.ID NOT IN ( SELECT distinct(post_id) від $wpdb->postmeta where $wpdb->postmeta.meta_key = 'skip_rss_flag' ) "; return $where; }
Код із плагіна skip-rss.
нотатки
- Global. WP_Query. $wp_query WordPress Query object.
список змін
З версії 1.5.0 | Введено. |
Код is_feed() is feed WP 6.0.2
function is_feed( $feeds = '' ) { global $wp_query; if ( ! isset( $wp_query ) ) { _doing_it_wrong( __FUNCTION__, __( 'Conditional query tags для роботи не буде для роботи, тому що не буде, якщо вони беруть участь false.' ), '3.1.0' ); return false; } return $wp_query->is_feed( $feeds ); }