Wordpress 替换wp_查询值
我有一个网站,它使用自定义查询按国家搜索帖子 搜索结果很好,但底部的分页反映了站点中的帖子总数,而不是搜索结果中的帖子总数 管理此操作的插件使用全局$wp_查询来确定发布的数量,而不是自定义查询。默认情况下,其工作方式如下:Wordpress 替换wp_查询值,wordpress,Wordpress,我有一个网站,它使用自定义查询按国家搜索帖子 搜索结果很好,但底部的分页反映了站点中的帖子总数,而不是搜索结果中的帖子总数 管理此操作的插件使用全局$wp_查询来确定发布的数量,而不是自定义查询。默认情况下,其工作方式如下: function wp_page_numbers($start = "", $end = "") { global $wp_query; global $max_page; global $paged; if ( !$max_page ) {
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\u查询值替换$wp\u查询值,但我不知道如何替换。显然,$wp\u query=$gallery\u query
不起作用
有什么建议吗
谢谢
ty为此感谢:
function wp_page_numbers_custom( $wp_query, $start = '', $end = '' )
{
$_backup = array(
'wp_query' => @ $GLOBALS['wp_query'],
'max_page' => @ $GLOBALS['max_page'],
'paged' => @ $GLOBALS['paged'],
);
$GLOBALS['wp_query'] = $wp_query;
$GLOBALS['max_page'] = $wp_query->max_num_pages;
$GLOBALS['paged'] = max( $wp_query->get( 'paged' ), 1 );
wp_page_numbers( $start, $end );
foreach ( $_backup as $var => $val )
$GLOBALS[ $var ] = $val;
}
// Example usage: wp_page_numbers_custom( $gallery_query );
它完全解决了我的问题 我在WP页码插件中遇到了同样的问题。该问题的另一个解决方案是修改搜索结果的$wp\u查询,然后如果需要返回原始查询,则执行wp\u重置\u查询。
if($gallery\u query)
将检查$gallery\u query的值是否存在。你确定这就是你想要的吗?只需将if条件更改为可以验证所需查询是否为gallery\u查询的条件。顺便说一句,如果显示了正确的结果,您可能不需要编辑它。如果输出搜索结果的总数,代码在哪里?