我正在使用简码以分页方式调用示例WP查询:
<?php
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$args = array(
'post_type' => 'post',
'paged' => $paged,
);
// the query
$the_query = new WP_Query( $args ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<!-- pagination here -->
<!-- the loop -->
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php endwhile; ?>
<!-- end of the loop -->
<!-- pagination here -->
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
一切正常,但是问题是我正在使用简码来调用它,并且如果我有3个以上的简码,并且如果我转到第2页,则所有这些都转到第二页。
如何修改此设置,以便每个查询都是唯一的并且与自己的分页相关?
答案 0 :(得分:0)
您需要为所有三个简码更改“ get_query_var”。
例如第一个简码。
$paged = ( get_query_var('fpage') ) ? get_query_var('fpage') : 1;
$args = array(
'post_type' => 'post',
'paged' => $paged,
);
请为所有其他页面设置(页面和页面)。
您需要从功能文件中设置query_var变量。
function add_query_vars_filter($vars) {
$vars[] = "fpage";
$vars[] = "spage";
$vars[] = "tpage";
return $vars;
}
add_filter('query_vars', 'add_query_vars_filter');