我在使用wordpress的get_terms()函数时面临一个奇怪的问题。
<?php $x=1220;
$terms = get_terms("topics", 'hide_empty=0&parent=$x' );
<ul class="ul1">
<?php foreach ($terms as $term) { ?>
<li><a href="<?php echo get_term_link($term->slug, 'topics'); ?>">
<?php echo $term->name; ?></a>
</li><?php }; ?> </ul>
没有返回任何术语,但是当我直接使用值1220而不是$ x时,它返回值。以下代码正常运行。
<?php $terms = get_terms("topics", 'hide_empty=0&parent=1220' );
<ul class="ul1">
<?php foreach ($terms as $term) { ?>
<li><a href="<?php echo get_term_link($term->slug, 'topics'); ?>">
<?php echo $term->name; ?></a>
</li><?php }; ?> </ul>
我需要使用变量,因为我将从其他地方获取术语ID。请告诉我这里有什么问题。
答案 0 :(得分:1)
单引号'
将打印$
符号,而不是显示变量的值
考虑一下
$a = 9;
echo '$a'; // output = $a
echo "$a"; // output = 9
在您的情况下只需更改
$terms = get_terms("topics", 'hide_empty=0&parent=$x' );
带双引号"
$terms = get_terms("topics", "hide_empty=0&parent=$x" );
或者只是将变量与带有单引号(或双引号)的字符串连接起来
$terms = get_terms("topics", 'hide_empty=0&parent=' . $x );
答案 1 :(得分:0)
替换
$terms = get_terms("topics", 'hide_empty=0&parent=$x' );
带
$terms = get_terms("topics", 'hide_empty=0&parent='.$x );