多个WP查询存在带有短代码的分页问题



我正在使用一个短代码调用一个带有分页的示例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页,所有的都转到第二页。

我如何修改它,使每个查询都是唯一的,并与其自己的分页相关?

您需要更改所有三个短代码的"get_query_var"。

例如第一个短代码。

$paged = ( get_query_var('fpage') ) ? get_query_var('fpage') : 1;
$args = array(
'post_type' => 'post',
'paged' => $paged,
);

请将所有其他设置为(spage和tpage(。

您需要从函数文件中设置query_var变量。

function add_query_vars_filter($vars) {
$vars[] = "fpage";
$vars[] = "spage";
$vars[] = "tpage";
return $vars;
}
add_filter('query_vars', 'add_query_vars_filter');

最新更新