请帮我弄清楚。我使用这个插件来实现点击加载帖子的按钮:https ://wordpress.org/plugins/infinite-scroll-and-ajax-load-more/
只要使用 wordpress 在 archive.php 中提供的标准方法来显示帖子,它的工作就没有问题:
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
但在新部分中,有必要分别使用 meta_query 和 WP_Query 参数,通过 AFC 日期字段将帖子分为过去和即将发布的帖子:
$compare = ( $_GET['type'] === 'past' ) ? '<' : '>=';
$today = date( 'Ymd' );
$args = array(
'post_type' => 'training',
'meta_query' => array(
array(
'key' => 'event_time_event_day',
'value' => $today,
'compare' => $compare,
'type' => 'DATE'
)
),
'meta_key' => 'event_time_event_day',
'orderby' => 'meta_value',
'order' => 'DESC',
'posts_per_page' => '5',
);
$wp_query = new WP_Query( $args );
当您单击“显示更多”按钮时,该插件会传递循环参数:
wp_localize_script( 'bliss_loadmore', 'bliss_loadmore_params', array(
'ajaxurl' => site_url() . '/wp-admin/admin-ajax.php',
'posts' => json_encode( $wp_query->query_vars )
...................
) );
但是 query_vars 包含,如我所见(我并没有真正在 wp 中翻找),在帖子的标准输出中使用的参数,我在开头写过:(对不起,在一行中)
[query] => {"post_type":"training","error":"","m":"","p":0,"post_parent":"","subpost":"","subpost_id":"","attachment":"","attachment_id":0,"name":"","pagename":"","page_id":0,"second":"","minute":"","hour":"","day":0,"monthnum":0,"year":0,"w":0,"category_name":"","tag":"","cat":"","tag_id":"","author":"","author_name":"","feed":"","tb":"","paged":0,"meta_key":"","meta_value":"","preview":"","s":"","sentence":"","title":"","fields":"","menu_order":"","embed":"","category__in":[],"category__not_in":[],"category__and":[],"post__in":[],"post__not_in":[],"post_name__in":[],"tag__in":[],"tag__not_in":[],"tag__and":[],"tag_slug__in":[],"tag_slug__and":[],"post_parent__in":[],"post_parent__not_in":[],"author__in":[],"author__not_in":[],"posts_per_page":5,"ignore_sticky_posts":false,"suppress_filters":false,"cache_results":true,"update_post_term_cache":true,"lazy_load_term_meta":true,"update_post_meta_cache":true,"nopaging":false,"comments_per_page":"50","no_found_rows":false,"order":"DESC"}
如您所见,这里没有“meta_query”参数。如果您输出$wp_query,您会发现以下内容:
"tax_query":{"meta_query":{"queries":[],"relation":null,"meta_table":null,"meta_id_column":null,"primary_table":null,"primary_id_column":null}...
因此,当您单击“显示更多”时,过去和即将发生的事件都会显示在两个部分中(对于两个获取请求)。你能告诉我如何传递所需的参数吗?
所以问题通过添加解决了
声明后 $wp_query = new WP_Query( $args );