PHP为逗号分隔术语添加引号(PHP / WordPress)

时间:2014-01-07 03:28:30

标签: php wordpress

我正在尝试将两个连接在一起的术语分隔为逗号分隔的引用值。

使用此代码:

        <?php
        $terms = get_the_terms( $post->ID, 'project_category' );

        if ( $terms && ! is_wp_error( $terms ) ) : 
            $links = array();

            foreach ( $terms as $term ) 
            {
                $links[] = $term->name;
            }
            $links = str_replace(' ', '-', $links); 
            $tax = join(", ", $links);
        else :  
            $tax = '';  
        endif;
        ?>

并使用此输出

        <div class="project-item col-sm-3 col-md-3" data-groups='[<?php echo strtolower($tax); ?>]'></div>

我目前正在获得一个类似于

的数组
        <div class="project-item col-sm-3 col-md-3" data-groups='[term1, term2]'>

我希望得到的数据是

        <div class="project-item col-sm-3 col-md-3" data-groups='["term1", "term2"]'>

这可能是世界上最容易解决的问题,但我花了好几个小时倾注StockOverflow,WordPress论坛和PHP网站,由于某些原因,无法弄清楚。我已经越来越接近并引用了两个术语,但没有双引号,并且脚本/插件工作,它必须是双引号。

请帮助一个女孩!非常感谢!

2 个答案:

答案 0 :(得分:1)

首先尝试这个:

foreach ( $terms as $term ) 
{
    $links[] = '"'.$term->name.'"';
}

答案 1 :(得分:0)

也许不是最好的,但一个非常简单的解决方案是在输出之前调整$tax变量。

$tax = '"'.str_replace(', ','", "',$tax).'"';

只要您没有任何逗号后跟不同“条款”中的空格,它就可以正常工作。