Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何在没有“修改”的情况下修改WordPress查询;压倒一切;信息技术_Wordpress - Fatal编程技术网

我如何在没有“修改”的情况下修改WordPress查询;压倒一切;信息技术

我如何在没有“修改”的情况下修改WordPress查询;压倒一切;信息技术,wordpress,Wordpress,我有一个搜索结果页面,我想限制每个页面的搜索结果,即posts\u。但是,如果我使用query\u posts('posts\u per\u page=6')我将丢失原始查询 如何在不损坏原始查询的情况下更改查询?您可以使用访问/更改$query对象。在functions.php中: 您可以使用访问/更改$query对象。在functions.php中: 永远不要使用query\u posts,它会破坏主查询对象($wp\u query)以及依赖于主查询对象的所有功能。它还破坏了页面功能。除此之

我有一个搜索结果页面,我想限制每个页面的搜索结果,即
posts\u
。但是,如果我使用
query\u posts('posts\u per\u page=6')
我将丢失原始查询

如何在不损坏原始查询的情况下更改查询?

您可以使用访问/更改
$query
对象。在functions.php中:

您可以使用访问/更改
$query
对象。在functions.php中:


永远不要使用
query\u posts
,它会破坏主查询对象(
$wp\u query
)以及依赖于主查询对象的所有功能。它还破坏了页面功能。除此之外,它很慢,并且会重新运行查询
query\u posts
应该与
create\u function()
eval()
extract()
等函数一起列在最坏列表的最前面

如果需要更改主查询,请始终使用
pre\u get\u posts
进行更改。永远不要用自定义查询更改主查询,它可能会解决一个问题,但会创建许多其他问题

以下方法将起作用

add_action( 'pre_get_posts', function ( $q )
{
    if (    !is_admin()
         && $q->is_main_query()
         && $q->is_search()
    ) {
        $q->set( 'posts_per_page', 6 );
    }
});

永远不要使用
query\u posts
,它会破坏主查询对象(
$wp\u query
)以及依赖于主查询对象的所有功能。它还破坏了页面功能。除此之外,它很慢,并且会重新运行查询
query\u posts
应该与
create\u function()
eval()
extract()
等函数一起列在最坏列表的最前面

如果需要更改主查询,请始终使用
pre\u get\u posts
进行更改。永远不要用自定义查询更改主查询,它可能会解决一个问题,但会创建许多其他问题

以下方法将起作用

add_action( 'pre_get_posts', function ( $q )
{
    if (    !is_admin()
         && $q->is_main_query()
         && $q->is_search()
    ) {
        $q->set( 'posts_per_page', 6 );
    }
});

看你把我打败了;-)。保留我的答案作为额外信息。幸亏你把我打败了;-)。保留我的答案作为额外信息。享受OP额外信息:OP额外信息: