1

我有一个 Wordpress 的 PHP 短代码,我们称之为 [myshortcode]。

短代码允许您输入这样的下载 URL [myshortcode download="http://www.example.com/file.pdf"]。

我想在模板文件中使用这个短代码,但下载 url 是一个变量。这可能吗,如果可以,我该怎么做?

我试过这些,但它不起作用......

<?php echo do_shortcode('[myshortcode download="<?php echo $variable['dllink']; ?>"]'); ?>
<?php echo do_shortcode('[myshortcode download="echo $variable['dllink'];"]'); ?>

有任何想法吗?

4

2 回答 2

6
<?php echo do_shortcode('[myshortcode download="'.$variable['dllink'].'"]'); ?>
<?php echo do_shortcode("[myshortcode download=\"{$variable['dllink']}\"]"); ?>

我建议您正确阅读本文以了解为什么这些有效而您的无效;-)

于 2012-06-09T22:42:54.540 回答
0

我认为这取决于变量的定义位置。例如,如果短代码是允许管理员在设置页面上设置一些选项的插件的一部分,那么您会希望 php 检索这些选项并将值回显到短代码中。

另一种方法是使用带有 $_POST 方法的表单将值提交到数据库中的表,然后调用该值并将其设置为变量。

在我最近编写的一个插件(Recent Post Views)中,我包含了一个短代码,它从数据库中检索选项并将它们作为变量插入:

//Get options from the settings page
$options = get_option('cb_rpv_options');
$select_bold = $options['select_bold'];
$select_italics = $options['select_italics'];
$select_list_style = $options['select_list_style'];

这些变量改变了简码的输出,这就是你想要做的。最好的办法可能是下载一个带有良好注释代码的插件作为示例并以此为基础进行构建。

我希望这会有所帮助,并且我同意您也需要清理语法的另一篇文章。

于 2012-06-09T22:55:05.997 回答