检查是否设置了WooCommerce属性

时间:2013-12-05 作者:dannyw24

我想知道如何检查woocommerce中是否在产品上设置了自定义属性。因为如果未设置特定属性,则会生成错误。

这是我的代码,它引入了属性。

<?php 
        $terms = get_the_terms( $post->ID, \'pa_size\');
        if ( isset ($terms)) // checking if the att is set
        foreach ( $terms as $term ) {
        echo "<li>" .$term->name. "</li>";
         } 


         ?>

2 个回复
最合适的回答,由SO网友:Nicolai Grossherr 整理而成

只需使用以下选项进行检查:

if ( $terms && ! is_wp_error( $terms ) ) {
    //your code
}
查看codex页面get_the_terms() 更深入的了解,尤其是»返回«和»示例«部分。

SO网友:Milo

如果你看看get_the_terms 在Codex中,返回项下:

成功时的术语对象数组。False if no terms are found 如果输入了无效的分类法,则返回给定分类法中的wp\\u错误对象。

所以你的测试isset 没有条款时通过,因为false 是一个值。

结束

相关推荐

Show terms in archive page

我试图在存档页上显示特定帖子类型的术语。我不明白如何“呼应”术语名称。这是我的代码:<?php $terms = get_terms(\"event_cat\"); ?> <?php while (have_posts()) : the_post(); ?> print term->name here <?php endwhile; ?>