Wordpress get_terms参数传递问题

时间:2014-02-20 06:27:26

标签: php wordpress

我在使用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。请告诉我这里有什么问题。

2 个答案:

答案 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 );