wp_sitemaps_posts_query_args хук-фільтрWP 5.5.0

Дозволяє змінити параметри запиту WP_Query для картки сайту записів (постів).

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

add_filter( 'wp_sitemaps_posts_query_args', 'wp_kama_sitemaps_posts_query_args_filter', 10, 2);

/**
 * Function for `wp_sitemaps_posts_query_args` filter-hook.
 *
 * @param array $args Array of WP_Query arguments.
 * @param string $post_type Post type name.
 *
 * @return array
 */
function wp_kama_sitemaps_posts_query_args_filter( $args, $post_type ){

	// Filter...
	return $args;
}
$args
(масив)

Масив параметрів, які будуть передані WP_Query при отриманні постів для карти сайту.

array(
	'orderby' => 'ID',
	'order' => 'ASC',
	'post_type' => $post_type,
	'posts_per_page' => wp_sitemaps_get_max_urls( $this->object_type ),
	'post_status' => array( 'publish' ),
	'no_found_rows' => true,
	'update_post_term_cache' => false,
	'update_post_meta_cache' => false,
)
$post_type
(рядок)
Тип запису, для якого фільтруються параметри запиту.

Приклади

0

#1 Виключимо записи з картки сайту

Допустимо ви розробляєте плагін, який встановлює деяким сторінкам метатег noindex , непогано також виключити ці сторінки з карти сайту.

add_filter( 'wp_sitemaps_posts_query_args', 'kama_sitemaps_posts_query_args', 10, 2);
function kama_sitemaps_posts_query_args( $args, $post_type ) {
	// не наш тип запису
	if ( 'post' !== $post_type ) {
		return $args;
	}

	// Врахуємо, що цей параметр може бути вже встановлений
	$args['post__not_in'] = isset( $args['post__not_in'] ) ? $args['post__not_in'] : array();

	// Виключаємо пости
	$args['post__not_in'][] = 12;
	$args['post__not_in'][] = 24;

	return $args;
}

список змін

З версії 5.5.0Введено.

Де викликається хук

wp_sitemaps_posts_query_args

Де використовується хук у WordPress

Використання не знайдено.

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

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