WordPress删除wp_List_Categories中最后一项的分隔符

时间:2010-08-20 作者:HandiworkNYC.com

我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。

基本上我想要这个:

类别1//类别2//类别3//

看起来像这样:

类别1//类别2//类别3

以下是我当前使用的代码:

<?php
    $cat_array = array();
    $args = array(
        \'author\' => get_the_author_meta(\'id\'),
        \'showposts\' => -1,
        \'caller_get_posts\' => 1
    );
    $author_posts = get_posts($args);
    if ( $author_posts ) {
        foreach ($author_posts as $author_post ) {
            foreach(get_the_category($author_post->ID) as $category) {
                $cat_array[$category->term_id] =  $category->term_id;
            }
        }
    }

    $cat_ids = implode(\',\', $cat_array);
    echo strtr(wp_list_categories(\'include=\'.$cat_ids.\'&title_li=&style=none&echo=0\'),array(\'<br />\'=>\' // \'));
?>

3 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

将最后一行更改为:

$output = strtr( wp_list_categories( \'include=\'.$cat_ids.\'&title_li=&style=none&echo=0\' ), array( \'<br />\' => \' // \' ) );
echo preg_replace( \'@\\s//\\s\\n$@\', \'\', $output );

SO网友:goldenapples

你有很多字符串正在处理中。您最好将结果输出为列表

wp_list_categories(\'include=\'.$cat_ids.\'&title_li=\');
并使用css设置样式:

li.cat-item { list-style-type: none; display: inline; }
li.cat-item:before { content: "&#32;&#47;&#47;&#32;"; }
li.cat-item:first-child:before { content: none; }
这只是另一个需要考虑的选择。。。

SO网友:t31os

另一个选项,分解->弹出->内爆。。。

$output = explode( \'<br />\', wp_list_categories( \'include=\'.$cat_ids.\'&title_li=&style=none&echo=0\' ) );
array_pop($output);
echo implode(\' // \',$output);

结束

相关推荐