繁体   English   中英

在循环中的帖子之间放置分隔符

[英]putting in a separator between posts in loop

我有以下循环,将每个帖子的标题带到我的页面上

html

<?php 
if (have_posts()) {
    while (have_posts()) {
        the_post(); 
        echo '<div class="cell"><a href="'.get_the_permalink().'">'.get_the_title().'</a></div>';
    } // end while
} // end if
?>

的CSS

.cell {
    display: inline-block;
    margin: 0 10px;
}

我想在引入的每个标题/链接之间放置一个分隔符(而不是两端)

示例输出

link  <div class="separate"></div>  
link  <div class="separate"></div>  link

使用附加标志变量$first简单解决方案

<?php 
    if ( have_posts() ) {
        $first = true;

        while ( have_posts() ) {
            the_post(); 

            if($first){
                $first = false;
            } else {
                // echo separator
            }

            echo '<div class="cell"><a href="'.get_the_permalink().'">'.get_the_title().'</a></div>';
        } // end while
    } // end if
?>

您可以在回显末尾添加<hr>元素,如下所示:

echo '<div class="cell"><a href="'.get_the_permalink().'">'.get_the_title().'</a></div><hr>';

您必须放置一个计数器,并将计数器与每页的帖子进行比较,以检查是否已到达最后一个帖子。

您可以从选项表中按页面获取帖子,如下所示:

$default_posts_per_page = get_option( 'posts_per_page' );

检查您是否到达最后一个帖子,然后不要打印出分隔符。

$counter = 1;
while ( have_posts() ) {

    //your stuffs

    if ($counter != $default_posts_per_page) {
        //print separator
    }

    $counter++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM