如何检索当前页面WP_QUERY参数?

时间:2020-06-05 作者:Camille V.

我正在开发一个插件,在传单地图上显示地理位置的帖子。I want to add a shortcode parameter to show a map with only the current loop posts\' markers. 例如,该功能在搜索结果页面上会非常棒!

问题

Is there a way to get the current page WP_Query arguments? 我想获得这些参数来创建一个新的WP\\u查询,并添加更多参数以仅过滤地理位置的帖子。

我不知道这是否可能,我总是从头开始创建新的WP\\U查询对象。

非常感谢。

3 个回复
最合适的回答,由SO网友:jannp 整理而成

您是否尝试过使用$wp_query ?

global $wp_query;
var_dump($wp_query->query_vars);
对于单个变量,可以使用get_query_var

或者你可以试着把$_POST , var_dump( $_POST );

或者也许var_dump( $GLOBALS[\'post\'] );

SO网友:Michelle

我相信你可以rewind_posts() 要从当前查询中获取帖子,然后在此基础上进行修改,请执行以下操作:

https://developer.wordpress.org/reference/functions/rewind_posts/

这篇文章对rewind_posts(), 将其与wp_reset_postdata()wp_reset_query() : https://digwp.com/2011/09/3-ways-to-reset-the-wordpress-loop/

SO网友:Carl Brubaker

另一种选择是从query args直接。您可以访问$args 这边

$query = new WP_Query( $args );

// paged
$paged_arg = $query->query[\'paged\'];

相关推荐

Shortcode not being executed

我将以下代码放在WP“init”回调中(或加载插件时)。add_shortcode(\'my_shortcode\', function($atts, $content =\'\') { die(); } ); if (!shortcode_exists(\'my_shortcode\')) die(); 在我的页面中,我放入“[my_shortcode]“”当我查看页面时,我得到“****”知道我的代码怎么了吗?更