is_feed() WP 1.5.0

Перевіряє запитується чи зараз фід.

Хуків немає.

Повертає

true|false.

Використання

if( is_feed( $feeds ) ){
	...
}
$feeds
(рядок)
Тип виду, який необхідно перевірити.

Приклади

0

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *