wp_sitemaps_posts_query_args
Дозволяє змінити параметри запиту 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
(рядок) - Тип запису, для якого фільтруються параметри запиту.
Приклади
#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
Використання не знайдено.