我有一个用于Wordpress的PHP短代码,我们称之为[myshortcode]。
短代码允许您输入这样的下载URL [myshortcode download =“http://www.example.com/file.pdf”]。
我想在模板文件中使用此短代码,但下载网址是变量。这是可能的,如果是这样,我该怎么做?
我试过这些,但它不起作用......
<?php echo do_shortcode('[myshortcode download="<?php echo $variable['dllink']; ?>"]'); ?>
<?php echo do_shortcode('[myshortcode download="echo $variable['dllink'];"]'); ?>
有什么想法吗?
答案 0 :(得分:6)
<?php echo do_shortcode('[myshortcode download="'.$variable['dllink'].'"]'); ?>
<?php echo do_shortcode("[myshortcode download=\"{$variable['dllink']}\"]"); ?>
我建议你read this正确地理解为什么这些工作和你的工作没有; - )
答案 1 :(得分: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'];
这些变量改变了短代码的输出,这正是你想要做的。最好的办法可能是下载一个带有良好注释代码的插件作为示例并构建它。
我希望这有用,我同意你需要清理语法的其他帖子。