Wordpress 简码中的 PHP


PHP within a Wordpress shortcode

我有一个用于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'];"]'); ?>

有什么想法吗?

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

我建议您正确阅读本文,以了解为什么这些工作和您的工作没有;-)

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

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

在我最近编写的一个插件(最近的帖子视图)中,我包含一个短代码,该代码从数据库中检索选项并将其作为变量插入:

//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'];

这些变量更改了短代码的输出,这就是您要执行的操作。最好的办法可能是下载一个带有良好注释代码的插件作为示例并在此基础上进行构建。

我希望这是有帮助的,我同意另一篇文章,你也需要清理你的语法。