Wordpress wp_get_post_terms函数不能在模板中工作

时间:2017-08-31 23:00:02

标签: php wordpress laravel

我使用wp_get_post_terms

创建了一个函数
function subcategory() {
$args = array(
    "fields" => "all",
    'taxonomy' => 'videos_category',
    'orderby'           => 'ID',
    'order'             => 'DESC',
);
$categories = wp_get_post_terms($post->ID, 'videos_category', $args);

if ( ! empty( $categories ) ) {
    echo $categories[0]->name;  
}}

使用Laravel刀片模板,我调用函数如下:

            @if( App\subcategory() )
                <li class="pill-list__pill--accent">
                    <span>{{ App\subcategory() }}</span>
                </li>
            @endif

我正在使用命名空间App,因此App .. 我在下面的代码工作正常,如果我在模板本身使用Php标签...但不知道为什么我不能在函数中调用它。

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

Blade {{ }}echo的简写。所以内部应该有一个变量,它是一个字符串或一个返回字符串的函数。你的函数实际上是echo。因此,在PHP标记内部,它可以工作,但不适用于Blade echo标记。

更改函数以返回字符串,而不是回显它:

return $categories[0]->name;