从标记数组获取单条帖子

时间:2020-05-05 作者:askurashev

我有wordpress和许多帖子。每个帖子都有标签。帖子可能有相同的标签。

我有:

post1 tag1 date1
post2 tag1 date2
post3 tag2 date3
post4 tag3 date4
post5 tag2 date5
我得到:

post1
post3
post4
也就是说,我想从所有帖子中选择一篇具有相同标签且最早发布日期的帖子。

我假设以下算法:

获取博客的所有标签

获取每个标签的帖子

获取每个标签的最后日期帖子

显示步骤3中的所有帖子。

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

$args = array( \'type\' => \'post\', \'orderby\' => \'name\' ); $tags = get_tags($args); foreach($tags as $tag) { $the_query = new WP_Query( \'tag=\'.$tag->name ); if ( $the_query->have_posts() ) { $the_query->the_post(); $desired_posts[] = get_the_ID(); // all the post IDs stored here. } else { // no posts found } wp_reset_postdata(); } $args1 = array( \'post_type\' => \'post\', \'orderby\' => \'date\', \'post__in\' => $desired_posts, \'posts_per_page\' => -1 ); $the_query = new WP_Query( $args1 ); echo \'<ul>\'; if($the\\u query->have\\u posts()){而($the\\u query->have\\u posts()){$the\\u query->the\\u post();echo \'<li>\'. get_the_title() . \'</li>\'; } } else{//未找到帖子}echo \'</ul>\';

相关推荐

Why my loop isn't working?

我正在使用这个循环,而不是获取我的帖子(博客),我在我的案例中获取主页和主页内容的页面标题<?php while(have_posts()) { the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content(); ?> <hr> <?php } ?>