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

时间:2018-12-16 23:20:31

标签: wordpress

我正在使用简码以分页方式调用示例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页,则所有这些都转到第二页。

如何修改此设置,以便每个查询都是唯一的并且与自己的分页相关?

1 个答案:

答案 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');