我有一个网站使用自定义查询按国家搜索帖子。替换wp_query值
搜索结果恢复正常,但底部的分页数反映网站中的帖子总数,而不是搜索结果中的帖子总数。
管理此事的插件使用全局$ wp_query来确定帖子的数量,而不是自定义查询。默认情况下,它的工作原理是这样的:
function wp_page_numbers($start = "", $end = "")
{
global $wp_query;
global $max_page;
global $paged;
if (!$max_page) { $max_page = $wp_query->max_num_pages; }
if (!$paged) { $paged = 1; }
$settings = get_option('wp_page_numbers_array');
$page_of_page = $settings["page_of_page"];
$page_of_page_text = $settings["page_of_page_text"];
$page_of_of = $settings["page_of_of"];
$next_prev_text = $settings["next_prev_text"];
$show_start_end_numbers = $settings["show_start_end_numbers"];
$show_page_numbers = $settings["show_page_numbers"];
$limit_pages = $settings["limit_pages"];
$nextpage = $settings["nextpage"];
$prevpage = $settings["prevpage"];
$startspace = $settings["startspace"];
$endspace = $settings["endspace"];
if($nextpage == "") { $nextpage = ">"; }
if($prevpage == "") { $prevpage = "<"; }
if($startspace == "") { $startspace = "..."; }
if($endspace == "") { $endspace = "..."; }
if($limit_pages == "") { $limit_pages = "10"; }
elseif ($limit_pages == "0") { $limit_pages = $max_page; }
我试了一下修改此:
if ($gallery_query){ $page_query=$gallery_query; }else {$page_query=$wp_query;}
global $max_page;
global $paged;
if (!$max_page) { $max_page = $page_query->max_num_pages; }
if (!$paged) { $paged = 1; }
但没有返回页面。
理想情况下,我应该用$ gallery_query值替换$ wp_query值,但我不知道如何。明显的$wp_query = $gallery_query
不起作用。
有什么建议吗?
谢谢!
TY
'if($ gallery_query)'将检查$ gallery_query的值是否存在。你确定这是你想要的吗?只要将if条件更改为可以验证您需要的查询为gallery_query的某个项即可。顺便说一句,如果显示正确的结果,你可能不需要编辑它。输出的搜索结果总数在哪里? – anuragbh