-2

我已经很久没有做过php了,很抱歉这个愚蠢的问题。

这是我当前的代码,我正在尝试将 URL 保存为变量,以便我可以将其插入回声中,但它似乎不起作用,因为什么都没有出现:

<?php ob_start();
echo get_post_meta($post->ID, 'oldurl', true);
$old_url = ob_get_contents();
ob_end_clean();
?>

<?php echo do_shortcode('[fbcomments][fbcomments url="$old_url" width="375" count="off" num="3" countmsg="wonderful comments!"]'); ?>

我已经回$old_url显并且可以看到它具有正确的值,但是如何将值插入echo do_shortcodewith url="$old_url"

这也不起作用:

<?php echo do_shortcode('[fbcomments][fbcomments url="echo $old_url;" width="375" count="off" num="3" countmsg="wonderful comments!"]'); ?>
4

3 回答 3

1

你需要切换你的报价。单引号按原样打印所有内容。双引号将处理变量。此外,回声中不需要回声。

<?php echo do_shortcode("[fbcomments][fbcomments url='$old_url' width='375' count='off' num='3' countmsg='wonderful comments!']"); ?>    

在不切换引号的情况下执行此操作的另一种方法是跳出语句:

<?php echo do_shortcode('[fbcomments][fbcomments url="'.$old_url.'" width="375" count="off" num="3" countmsg="wonderful comments!"]'); ?>
于 2013-10-28T14:03:33.593 回答
1

变量不会用单引号替换...

<?php echo do_shortcode('[fbcomments][fbcomments url="' . $old_url . '" width="375" count="off" num="3" countmsg="wonderful comments!"]'); ?>
于 2013-10-28T14:04:18.793 回答
0

单引号不允许变量解析。
例如 :

$var = 'Hello';
echo 'The content of my var is : $var';
// Will output : "The content of my var is : $var"
echo "The content of my var is : $var";
// Will output : "The content of my var is : Hello"

所以你必须使用双引号或使用连接运算符:.

于 2013-10-28T14:05:42.703 回答