我不是PHP专业人士(可能甚至不是发烧友的水平)但我通常可以解决一些PHP问题。我正在开发运行WooCommerce的WordPress安装。这段代码困扰着我 - 我需要从数据库中提取单个帖子的标签,如果系统找到的标签符合我将在if
语句中定义的规则,它将显示一个特定的一块HTML。我试图使用in_array
函数来搜索我知道的特定值(在本例中为“游戏”),作为从wp_get_post_terms( $post->ID, "product_tag" )
生成的数组的一部分。当我打印结果时,我可以清楚地看到“游戏”是数组中的值,但该函数只输出else
语句的结果。
我认为这个代码会起作用,因为它看起来很简单,但是到目前为止,我没有成功。有人在PHP和WP方面有点想法吗?
<?php
$terms = wp_get_post_terms( $post->ID, "product_tag" );
print_r ( $terms );
if ( in_array( "games", $terms ) ) {
echo '<img src="http://www.myurl.com/images/image.png" alt="games" />';
} elseif ( in_array( "bulk" , $terms) ) {
echo 'Hello bulk buyer!';
} else {
echo 'Howdy!';
}
?>
答案 0 :(得分:0)
要返回术语名称数组,请覆盖wp_get_post_terms()
的默认参数,如下所示:
wp_get_post_terms( $post->ID, "product_tag", array( "fields" => "names" ) );
https://codex.wordpress.org/Function_Reference/wp_get_post_terms