分页在自定义帖子类型中不起作用。帮助

时间:2021-02-19 作者:Kachha Nimbu

我目前正在从事一个电子商务项目,我正在为电子商务编写一个非WooCommerce相关主题。我目前的问题是,我正在为存档产品编码。php,这是一个自定义的post类型存档。一切顺利,我对归档产品进行了编码。php作为电子商务的搜索页面,一切都很好。但是,当我尝试添加“加载更多帖子链接”时,它并没有显示出来。等等,让我给你看看:

<?php get_header(); ?>
    <main id="products" class="products" role="main">
        <?php $s = get_search_query(); $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; $args = array( \'s\' =>$s, \'post_type\' => \'product\', \'posts_per_page\' => 2, \'paged\' => $paged ); $the_query = new WP_Query( $args ); ?>
        <?php if ( $the_query->have_posts() ) : ?>
        <h1 class="searchResult"><span><span id="searchTotalResult"><?php global $wp_query; echo $wp_query->found_posts.\'\'; ?></span> <span>Search Results for</span> <span id="searchTerms">"<?php echo get_search_query(); ?>"</span></span></h1>
        <ul class="productList">
            <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
            <li class="productItem">
                <a class="productURL" href="<?php the_permalink(); ?>">
                    <img class="lazyLoad" data-src="<?php the_post_thumbnail_url(); ?>" />
                    <h2 class="productTitle"><?php the_title(); ?></h2>
                    <span class="productPrice">$<?php echo esc_html( get_post_meta( get_the_ID(), \'price\', true ) ); ?>.00</span>
                </a>
            </li>
            <?php endwhile; ?>
        </ul>
        <?php next_posts_link(\'Older &raquo;\') ?>
        <?php wp_reset_postdata(); ?>
        <?php else:  ?>
        <p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
        <?php endif; ?>
    </main>
<?php get_footer(); ?>
据我所知,我觉得一切都很好。但正如我指定的那样;next\\u posts\\u链接(“”)";,它没有出现在网站的前端。它似乎什么都没有加载。

enter image description here

你能帮我找到归档页面的加载更多产品链接吗?我不知道还有什么其他方法可以将页面链接排入归档页面。而且,如果您认为我没有添加“has\\u archive”==>;注册帖子类型时为true-我注册了。

请帮忙。

1 个回复
SO网友:Jacob Peattie

你不应该使用new WP_Query() 在里面archive-product.php (或任何存档模板)。已经查询了正确的帖子,这就是分页的基础。您只需要使用标准循环遍历正确的帖子。查看WooCommerce中的默认存档模板:

while ( have_posts() ) {
        the_post();

        // etc.
    }
}
注意,没有$the_query 或诸如此类的事情。