Php 无编号分页自定义帖子类型

Php 无编号分页自定义帖子类型,php,wordpress,pagination,Php,Wordpress,Pagination,我在Wordpress的一个页面上显示编号分页时遇到问题 <?php /** * Template Name: Sale template */ ?> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type' => array( 'houten_vloeren', 'keramische_tegels', '

我在Wordpress的一个页面上显示编号分页时遇到问题

<?php
/**
 * Template Name: Sale template
 */
?>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array(
    'post_type' => array(
        'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen',

    ),
    'posts_per_page' => 5,
    'post_status' => 'publish',
    'paged' => $paged,
    'meta_query' => array(
        'key' => 'prijsknaller',
        'value' => '1',
        'compare' => '==',
        //'type'    => 'date',
    ),
);
$query = new WP_Query($args);
?>

<div class="container">
    <div class="row">
        <div class="col-md-12">
            <div class="row">
                <div class="product-overview">

                    <?php if ($query->have_posts()) :
                        while ($query->have_posts()) : $query->the_post(); ?>
                            <div class="col-md-3">
                                <div class="featured-block">
                                    <div class="featured-block-image">
                                        <a href="<?php the_permalink(); ?>"><img src="<?php the_field('productafbeelding'); ?>"
                                                                                 alt="<?php the_title(); ?>"></a>
                                    </div>
                                    <div class="featured-block-info">
                                        <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
                                        <?php if (get_field('prijs_oud')) : ?>
                                            <span class="oud"><?php the_field('prijs_oud'); ?></span>
                                        <?php endif; ?>
                                        <span class="nieuw"><?php the_field('prijs_nieuw'); ?></span> p/m<sub>2</sub>
                                    </div>
                                </div>
                            </div>

                        <?php endwhile; ?>
                    <?php endif; ?>
                    <?php the_posts_pagination(array(
                        'prev_text' => '&laquo;',
                        'next_text' => '&raquo;',
                    )); ?>
                </div>
            </div>
        </div>
    </div>
</div>

p/m2

查询返回大约70个产品,因此我希望它至少显示7个数字。但是,它不显示任何分页。

如果您提供完整的代码,将更容易发现您的问题

您可能使用wp_reset_postdata();在_posts_pagination()之前


请检查此项。

尝试此代码,它肯定会对您有所帮助

     $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;     

 $args = array(
    'post_type'      => array (
                        'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen',

                        ),
    'posts_per_page' => 5,
    'post_status'    => 'publish',     
    'paged'          => $paged,
    'meta_query'     => array (
                            'key' => 'prijsknaller',
                            'value' => '1' ,
                            'compare' => '==',
                            //'type'    => 'date',
                             ),
    );
$wp_query = new WP_Query( $args );

将代码替换为以下内容:

<?php
/**
 * Template Name: Sale template
 */
?>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ($paged == "1") {
    $args = array(
    'post_type' => array(
        'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen',

    ),
    'posts_per_page' => 5,
    'post_status' => 'publish',
    'paged' => $paged,
    'offset' => 0,
    'meta_query' => array(
        'key' => 'prijsknaller',
        'value' => '1',
        'compare' => '==',
        //'type'    => 'date',
    ),
);
} else {
    $offset = $paged * 5;
    $offset = $offset - 5;
    $args = array(
    'post_type' => array(
        'houten_vloeren', 'keramische_tegels', 'natuursteen_vloeren', 'tegels', 'laminaat', 'pvc_vloeren', 'tafels_stoelen',

    ),
    'posts_per_page' => 5,
    'post_status' => 'publish',
    'paged' => $paged,
    'offset' => $offset,
    'meta_query' => array(
        'key' => 'prijsknaller',
        'value' => '1',
        'compare' => '==',
        //'type'    => 'date',
    ),
);
}

$query = new WP_Query($args);
?>

<div class="container">
    <div class="row">
        <div class="col-md-12">
            <div class="row">
                <div class="product-overview">

                    <?php if ($query->have_posts()) :
                        while ($query->have_posts()) : $query->the_post(); ?>
                            <div class="col-md-3">
                                <div class="featured-block">
                                    <div class="featured-block-image">
                                        <a href="<?php the_permalink(); ?>"><img src="<?php the_field('productafbeelding'); ?>"
                                                                                 alt="<?php the_title(); ?>"></a>
                                    </div>
                                    <div class="featured-block-info">
                                        <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
                                        <?php if (get_field('prijs_oud')) : ?>
                                            <span class="oud"><?php the_field('prijs_oud'); ?></span>
                                        <span class="nieuw"><?php the_field('prijs_nieuw'); ?></span> p/m<sub>2</sub>
                                    </div>
                                </div>
                            </div>

                        <?php endwhile; ?>
                   <div class="pagination-grp">
                        <?php
                        $big = 999999999; // need an unlikely integer
                        //$i=1;

                        echo paginate_links(array(
                            'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
                            'format' => '?paged=%#%',
                            'current' => max(1, get_query_var('paged')),
                            'prev_text' => __('<'),
                            'next_text' => __('>'),
                            'total' => $loop->max_num_pages

                        ));
                        wp_reset_postdata();
                        endif;
                        ?>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

p/m2

查询返回了多少篇文章?只有不到70篇产品请添加关于您所做更改以及更改原因/方式的说明。更多信息。不幸的是,它没有起作用。我更新了我的开场白。有时wordpress无法识别他们在wp_查询中何时是直接查询,因此尝试将代码放在单独的变量中会有所帮助。因此,为什么我使用$args,并在wp_查询中使用它。尝试将变量名称从$query更改为$wp_查询,这对我来说很好,我将更新我的openingspost,其中包含完整的代码。谢谢,但这是无效的php代码。我修复了您的php,但是.pagination grp div仍然是完全空的。