php和wordpress编码在这里非常新(1天lol)。这是到目前为止我的代码,问题是当没有为这个属性分配值时,我会收到错误消息。我知道我需要一些说明如果该值存在,那么显示其余代码的内容,但不确定如何添加该值。这是针对woocommerce产品属性btw的。
迄今为止的代码:
$collection_values = get_the_terms( $product->id, \'pa_collection\');
foreach ($collection_values as $collection_value){
echo \'<h2 class="collection_title"><a href="\'.get_term_link($collection_value->slug, $collection_value->taxonomy).\'">\'.$collection_value->name.\'</a></h2>\';
}
错误消息:
Warning: Invalid argument supplied for foreach() in /app/public/wp-content/themes/savoy/woocommerce/single-product/title.php on line 21
编辑:我正在标题中的产品标题上方添加此内容。php页面。
SO网友:Milo
如果我们参考the documentation, 我们看到了get_the_terms
返回数组、false或WP\\u错误对象。因此,在我们的代码中,我们将添加一个检查$collection_values
存在(不是false),并且不是错误,那么我们就知道它必须是一个数组,并且运行foreach
在上面循环。
$collection_values = get_the_terms( $product->id, \'pa_collection\');
if ( $collection_values && ! is_wp_error( $collection_values ) ){
foreach ($collection_values as $collection_value){
echo \'<h2 class="collection_title"><a href="\'.get_term_link($collection_value->slug, $collection_value->taxonomy).\'">\'.$collection_value->name.\'</a></h2>\';
}
}