是否在单个帖子页面上显示“帖子2/4”?

时间:2011-10-09 作者:fxfuture

我有一个自定义的帖子类型,叫做Projects。

当查看单个“项目”帖子时,我有下一个/上一个按钮来浏览它们。

我还想显示文字说“项目2/4”或理想的分页图标。

这很容易索引。php,但我无法在一个帖子页面上解决这个问题。

谢谢

1 个回复
最合适的回答,由SO网友:Milo 整理而成

你可以create a new query 对于自定义帖子类型中的所有帖子,然后遍历每个帖子并将其与当前帖子id匹配,以确定其位置。

// save current id to match later
$current_project_id = $post->ID;

$args = array(
    \'post_type\' => \'project\',
    \'posts_per_page\' => -1
);
$all_projects = new WP_Query( $args );

while( $all_projects->have_posts() ) : $all_projects->the_post();

    // simple \'if\' test to find the current post in the loop
    // note that current_post starts at zero, which is why we add 1 to it.
    // you can also output the_title, the_permalink, thumbnails, etc..

    if( $post->ID == $current_project_id ):
        echo "project " . ( $all_projects->current_post + 1 ) . " of " . $all_projects->post_count;
    endif;

endwhile;
这里需要注意的是,您正在每个页面上加载所有项目,如果您有很多项目,这可能会很昂贵。您可能希望设置一些缓存以保持速度。

结束

相关推荐

为什么_content()在这个{Single-Customer_Post_type.php}页面中不起作用?

此代码来自我的页面single-publication.php. 它输出相关的自定义字段等(此处用模板标记包装),但是the_content() 不会输出帖子内容。我求助于使用$post->post_content (有效),但谜团仍然存在:<div class=\"publication-info\"> <?php printf(\"<h2>%s</h2>\", get_the_title() ); ?> <di