根据自定义分类显示接下来的3个帖子

时间:2013-05-15 作者:Curtis Flick

我想知道是否有人能帮我完成这样的事情:https://medium.com/thoughts-and-words/5ccef7b3e1fc 是否使用自定义帖子类型?

我有一个名为projects的自定义post类型和名为project category的自定义分类法。我想在单个项目页面上显示同一项目类别中的下3个项目。一个将显示标题和摘录,另两个仅显示标题。

2 个回复
SO网友:goodjobjohn

从我收集的信息来看,你所需要做的就是查询这3篇文章,并使用the_post(). 我没有像这样使用它,所以它不是百分之百的工作原理。

the_post() 检索下一篇文章,设置文章,将“循环中”属性设置为true。

$project_query = array(
    \'posts_per_page\' => 3,
    \'post_type\'      => \'projects\',
    \'taxonomy\'       => \'project-category\'
    );

query_posts ( $project_query ); while ( have_posts() ) :  

//Post 1
the_post();
the_title();
the_content();

//Post 2
the_post();
the_title();

//Post 3
the_post();
the_title();

endwhile;

SO网友:Curtis Flick

多亏@Bash让我开始学习,我想出了一个不错的解决方案,目前为止效果很好。

这是代码。。。

// create array of current taxonomy term slugs
$current_project_term_slugs = wp_get_object_terms($post->ID, \'project_type\', array(\'fields\' => \'slugs\'));
// convert array to comma seperated values in string to query posts with same taxonomy terms
$term_slugs = join(\', \', $current_project_term_slugs);
// set up query args
$project_query = array(
    \'posts_per_page\' => 3,
    \'post_type\'      => \'projects\',
    \'project_type\'       => $term_slugs,
    \'post__not_in\' => array($post->ID)
    );

query_posts ( $project_query ); while ( have_posts() ) :  

// next project primary
the_post();
the_title();
the_excerpt();

// next project secondary 1
the_post();
the_title();

// next project secondary 2
the_post();
the_title();

endwhile;

结束

相关推荐