我正在制作一个适用于所有类别的类别存档模板。我需要动态设置\'category\'
的参数WP_Query
使其工作。
如何动态获取当前类别页面名称的字符串以输入WP\\U查询?我见过的所有方法都假定我知道ID
或slug
. 由于这是一个归档页面,大多数WP函数都不会返回归档页面标题,而是返回帖子标题。
我看到的最佳选择是:$current_category = single_cat_title("", false);
但它仍然在我的category.php
佩奇-也许我做错了什么?
SO网友:Milo
要回答您的问题,get_queried_object
和get_queried_object_id
将为您提供有关大多数类型页面所需的所有信息。
但是,如果要在模板中创建新查询以更改某些查询参数,则应使用pre_get_posts
在运行主查询之前更改它。然后可以在模板中运行常规循环。
例如,更改posts_per_page
在类别存档上:
function wpd_category_query( $query ) {
if ( $query->is_category() && $query->is_main_query() ) {
$query->set( \'posts_per_page\', 15 );
}
}
add_action( \'pre_get_posts\',\'wpd_category_query\' );