当前位置: 首页 > 知识库问答 >
问题:

自定义post类型wordpress的分页

酆出野
2023-03-14

我的股票与分页我尝试了很多解决方案,但没有工作!我使用WordPress5.4。我的网站是一个单页网站,当然我想在索引中使用它。php

这是我的密码:

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

$portfolio_post_args = array(
    'post_type'=>'portfolio',
    'posts_per_page' => 2,
    'paged' => $paged,
);
                                $portfolio_post = new WP_Query($portfolio_post_args);

                                 while($portfolio_post->have_posts()) :$portfolio_post->the_post();?>
                    <div id="portfolio1" class="portfolio-layout1 onscroll-animate">
                        <article class="portfolio-item filter-lifestyle">
                            <div class="popup-window-trigger" data-popup="#<?php echo 'portfolio-pic-'.get_the_ID( ); ?>">
                                <img class="onscroll-animate" alt="img1" src="<?php echo get_the_post_thumbnail_url(); ?>"
                                    data-animation="fadeInUp">
                                <div class="portfolio-detail">
                                    <div class="portfolio-detail-container">
                                        <div class="portfolio-detail-content">
                                            <h2><?php echo get_the_title( ); ?></h2>
                                            Lifestyle, Other
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </article>

                        <?php endwhile;

$big = 999999999; // need an unlikely integer

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $portfolio_post_args->max_num_pages
) );
?>

很抱歉,如果这是一个高度重复的问题——我发现的其他修复方法都不适用于我。请有人告诉我问题在哪里?

谢谢!

编辑1我尝试了这个,它也不工作!

                    <?php
$temp = $wp_query;
$wp_query= null;
$args = array(
    'post_type'   =>   array('portfolio'),
    'paged'       =>$paged,
    'post_per_page' => 6,
     );
$wp_query = new WP_Query();
$wp_query->query($args);
?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
                    <div id="portfolio1" class="portfolio-layout1 onscroll-animate">
                        <article class="portfolio-item filter-lifestyle">
                            <div class="popup-window-trigger" data-popup="#<?php echo 'portfolio-pic-'.get_the_ID( ); ?>">
                                <img class="onscroll-animate" alt="img1" src="<?php echo get_the_post_thumbnail_url(); ?>"
                                    data-animation="fadeInUp">
                                <div class="portfolio-detail">
                                    <div class="portfolio-detail-container">
                                        <div class="portfolio-detail-content">
                                            <h2><?php echo get_the_title( ); ?></h2>
                                            Lifestyle, Other
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </article>
                        <?php endwhile; ?>
<div class="navigation">
  <div class="alignleft"><?php previous_posts_link('&laquo; Previous') ?></div>
  <div class="alignright"><?php next_posts_link('More &raquo;') ?></div>
</div>
<?php $wp_query = null; $wp_query = $temp;?>

共有2个答案

龙佐
2023-03-14

解决的问题:

            <?php 

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

$data= new WP_Query(array(
    'post_type'=>'portfolio', // your post type name
    'posts_per_page' => 6,
    'paged' => $paged,
));

if($data->have_posts()) :
    while($data->have_posts())  : $data->the_post();?>

                    <article class="portfolio-item filter-lifestyle">
                        <div class="popup-window-trigger" data-popup="#<?php echo 'portfolio-pic-'.get_the_ID( ); ?>">
                            <img class="onscroll-animate" alt="img1" src="<?php echo get_the_post_thumbnail_url(); ?>"
                                data-animation="fadeInUp">
                            <div class="portfolio-detail">
                                <div class="portfolio-detail-container">
                                    <div class="portfolio-detail-content">
                                        <h2><?php echo get_the_title( ); ?></h2>
                                        Lifestyle, Other
                                    </div>
                                </div>
                            </div>
                        </div>
                    </article>

            <?php endwhile;?>
            <?php endif;
                 wp_reset_postdata();?>
                </div><!-- #portfolio -->
            <!-- Start Pagination - WP-PageNavi -->
            <br>
            <div id="pagination" class="nav-links">
                <?php        if ( $data->max_num_pages > 1 ) :
                      $big = 999999999;
                      echo '<div class="pagination">';
                      echo paginate_links( array(
                          'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                          'format' => '?paged=%#%',
                          'current' => max( 1, get_query_var('paged') ),
                          'total' => $data->max_num_pages,
                          'prev_text' => 'Newer',
                          'next_text' => 'Older'
                      ) );
                      echo '</div>';?>
            </div>
            <!-- End Pagination -->
            <?php endif;?>
酆晔
2023-03-14

请尝试使用此代码。我对下面的代码做了一些更正。

<?php
$portfolio_post_args = array(
    'post_type'=>'portfolio',
    'posts_per_page' => 2,
    'paged' => get_query_var('paged') ? get_query_var('paged') : 1
);
$portfolio_post = new WP_Query($portfolio_post_args);

while($portfolio_post->have_posts()) : $portfolio_post->the_post();?>
    <div id="portfolio1" class="portfolio-layout1 onscroll-animate">
        <article class="portfolio-item filter-lifestyle">
            <div class="popup-window-trigger" data-popup="#<?php echo 'portfolio-pic-'.get_the_ID( ); ?>">
                <img class="onscroll-animate" alt="img1" src="<?php echo get_the_post_thumbnail_url(); ?>"
                    data-animation="fadeInUp">
                <div class="portfolio-detail">
                    <div class="portfolio-detail-container">
                        <div class="portfolio-detail-content">
                            <h2><?php echo get_the_title( ); ?></h2>
                            Lifestyle, Other
                        </div>
                    </div>
                </div>
            </div>
        </article>

<?php endwhile;

$big = 999999999; // need an unlikely integer

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $portfolio_post_args->max_num_pages
) );

wp_reset_postdata();
?>
 类似资料:
  • 我已使用以下代码注册自定义邮件类型: 问题是,这篇文章的URL变成了: 但是,我需要: 有没有办法从URL中删除帖子类型的段塞“电影”,比如默认情况下在前端显示的帖子和页面? 谢谢

  • 我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。

  • 我有一个自定义的文章类型“author”,我已经成为了归档作者。php,这里是我使用wp pagenavi插件时遇到的问题,我在这个自定义帖子类型中有15篇帖子,我已经使用了

  • 我有一个自定义的文章类型(媒体文章),它使用一些自定义字段,有一个自定义分类法(媒体文章类别)和该分类法中的14个术语。我可以使用CPT归档模板输出所有自定义帖子。 我在侧边栏中还有一个菜单,它列出了用于过滤自定义帖子的术语(我使用了一个自定义WP菜单小部件来创建列表)。 我用一个查询设置了一个自定义分类模板。根据args中放置的分类术语,我能够成功地组合或单独显示帖子。因此,如果我不需要使用过滤

  • 我正在尝试创建一个查询,其中我在自定义帖子类型中创建了多个类别(分类法),然后在主页上根据具体的内容进行查询,这样做很好。目前我有3种分类法: 当前特价 meineke-差异 特色 我已经编写了拉动这些的代码。我遇到的问题是,在主页上,当这些帖子也附加到“特色”分类法时,它只需要拉这些帖子。因此,这方面的标准逻辑示例如下: 如果分类法=当前特价商品和特色商品,则成功或失败 但是它所做的是把它们都拉

  • 我已经创建了一个包含多个分类法的自定义查询,在此基础上,我使用进行分页。分类法是通过下拉选择表单来选择的,使用可以过滤帖子,这只是一个临时解决方案,但目前效果良好,值得注意。 分页工作正常,当选择分类术语时,帖子可以正确显示,但是当我离开第一页,比如说我进入第2页,在下拉选择器中选择不同的分类术语时,URL会保留当前页码,并向其中添加选择器ID。我想实现的是,当我在选择器中单击不同的分类法时,新选