下面的函数控制选项面板内的选项。它所做的是选择特定归档中显示的帖子数量(to\\u count archives、to\\u count home、to\\u count search分别分配给主页、archives.php和搜索结果)。
当我更改显示的帖子数量时,它也会(出于某种奇怪的原因)通过帖子内的[图库]更改图库中显示的图像数量。我不知道为什么会发生这种情况,因为这些代码没有在single中调用。php
// Posts per page
add_filter(\'parse_query\', \'wpq_parse_query\');
function wpq_parse_query($query)
{
if($query->is_archive())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_archives\', 10);
}
if($query->is_home())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_home\', 10);
}
if($query->is_search())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_search\', 10);
}
return $query;
}
最合适的回答,由SO网友:birgire 整理而成
您可以尝试添加条件$query->is_main_query()
在您的if
-不影响库查询的句子:
// Posts per page
add_filter(\'parse_query\', \'wpq_parse_query\');
function wpq_parse_query($query)
{
if(!$query->is_main_query())
{
return $query;
}
if($query->is_archive())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_archives\', 1);
}
if($query->is_home())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_home\', 1);
}
if($query->is_search())
{
$query->query_vars[\'posts_per_page\'] = get_option(\'to_count_search\', 1);
}
return $query;
}