【问题标题】:Paginate Advanced Custom Fields results in WordPress分页高级自定义字段在 WordPress 中的结果
【发布时间】:2014-12-18 15:14:11
【问题描述】:

我目前正在使用“高级自定义字段”WordPress 插件,我想知道是否可以对我的结果进行分页。

这是我在自定义页面模板上使用的代码:

<?php while ( have_posts() ) : the_post(); ?> 

<?php
$args = array( 'posts_per_page' => 5, 'meta_key' => 'course_date', 'order'=> 'ASC', 'orderby' => 'meta_value', 'category' => 2 );
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
setup_postdata( $post ); ?>

<!--- CONTENT --->  

<?php
endforeach; 
wp_reset_postdata();
?> 

【问题讨论】:

  • 你想让post循环分页吗?
  • 是的,例如,如果帖子超过 5 个,请将“结果”分页。
  • 为什么您在问题中添加了高级自定义文件?似乎与 ACf 没有任何联系
  • 结果当前按 ACF 条目“course_date”排序。显示的帖子是从类别 2 中提取的。

标签: php wordpress advanced-custom-fields pagination


【解决方案1】:

你必须使用 WP_Query 类http://codex.wordpress.org/Class_Reference/WP_Query

    <?php while ( have_posts() ) : the_post(); ?> 

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

$args = array( 'posts_per_page' => 5, 'meta_key' => 'course_date', 'order'=> 'ASC', 'orderby' => 'meta_value', 'cat' => 2 ,'paged'=>$paged);
$catpost_ = new WP_Query( $args );
if ($catpost_->have_posts() ) : 
    while ($catpost_->have_posts() ) : $catpost_->the_post();

 ?>

<!--- CONTENT --->
<?php
 endwhile; 
 endif;
 wp_reset_query();?>
<?php
            $big=76;
        $args = array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format'       => '?paged=%#%',
'total'        => $catpost_->max_num_pages,
'current'      => $paged,
'prev_next'    => True,
    'prev_text'    => __('Previous'),
    'next_text'    => __('Next'),

'type'         => 'list');
// ECHO THE PAGENATION 
echo paginate_links( $args );
endwhile;
?>

这可能对你有用。

【讨论】:

  • 太棒了,它可以很好地对所有内容进行分页。但是,它似乎会拉入所有帖子,而不是某个类别的帖子。非常感谢您的帮助
  • 如果这解决了您的问题,请将您的答案标记为正确。这将帮助我获得声誉:p
  • 完成,再次感谢您的帮助。关于类别的快速问题,是否可以显示某个类别的帖子 - 而不是所有帖子?
  • 我的错误。我可以使用“猫”而不是“类别”。
猜你喜欢
  • 2015-02-16
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
  • 2015-05-27
  • 2015-01-21
  • 2017-05-01
相关资源
最近更新 更多