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 );
}