我知道当我有一个循环时,我可以用逗号分隔帖子标题:
<?php
$medium_posts = new WP_Query ($medium_query);
?>
<span class="archive-list">
<?php while ( $medium_posts->have_posts() ) : $medium_posts->the_post(); ?>
<?php echo (($medium_posts->current_post!=0)?'<span class="separator">,</span> ':''); ?><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
<?php endwhile ?>
</span>
但是,如果我有一个情况,我有一个mysql查询,并喜欢用逗号分隔帖子标题怎么办?
<?php
$posts = $wpdb->get_col("
SELECT $wpdb->posts.*
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_type = 'works'
AND MONTH(post_date) = '".$month."'
AND YEAR(post_date) = '".$year."'
ORDER BY post_date DESC");
$the_posts = array();
foreach($posts as $post) :
?>
<span class="archive-list">
<?php
$the_posts[] = '<a href="' . get_permalink( $post ) . '">' . get_the_title( $post ) . '</a>';
echo implode( ', ', $the_posts ); ?>
</span>
<?php endforeach;?>
使用此代码,它开始在输出中公布第一个帖子,如下所示:
我的第一个冠军我的第一个冠军,我的第二个冠军我的第一个冠军,我的 第二个冠军我的第三个冠军我的第一个冠军,
...
如何用逗号分隔标题? 像这样:标题1,标题2,标题3
答案 0 :(得分:0)
您应该使用:
echo implode( ', ', $the_posts );
foreach
循环之后。
答案 1 :(得分:0)
首先将所有标题存储在数组中并使用implode
$titles = array();
// logic to save all titles into this array
$comma_seperated = implode(', ', $titles);
并且你可以在内爆之前尝试使用array_unique,如果这可以解决你的问题。
$titles = array_unique($titles);