如何在HTML的短代码中插入php代码?

如何在HTML的短代码中插入php代码?,php,html,wordpress,shortcode,Php,Html,Wordpress,Shortcode,我想在HTML编辑器中将php代码添加到短代码中。 我的短代码如下所示: <?php echo do_shortcode('[eapi keyword="KEYWORD" n=25]'); ?> <?php echo do_shortcode('[eapi keyword="<?php the_title(); ?> " n=25]'); ?> 我认为您需要修改eapi插件以支持您的需求 例如,您可以在eapi插件上制定规则来分析参数的关键字 1) 如果是

我想在HTML编辑器中将php代码添加到短代码中。 我的短代码如下所示:

<?php echo do_shortcode('[eapi keyword="KEYWORD" n=25]'); ?>
<?php echo do_shortcode('[eapi keyword="<?php the_title(); ?>
" n=25]'); ?>

我认为您需要修改eapi插件以支持您的需求

例如,您可以在eapi插件上制定规则来分析参数的关键字

1) 如果是简单字符串,则直接返回

2) 如果它是一个类似于“{{{……}}”的字符串,请使用eval函数将其作为php脚本运行,然后返回

 <?php do_shortcode('[eapi keyword="' . get_the_title() . '"]'; ?>

这里有一个可能的解决方案,但我不熟悉您在其中使用的插件/上下文。但也许这会给你一些想法:

<?php echo do_shortcode("[eapi keyword=\"" . the_title() . "\" n=25]"); ?>

因此,我删除了其中一个的内部php标记。我将外部引号切换为双引号,因为不能在单引号中使用函数/变量。同时,我连接了title函数,因为我认为它不能在引号中解释。这也可能否定双引号的必要性,但是习惯的力量

编辑-为了清晰起见,在原始问题之外使用一些其他示例

字符串中的变量需要双引号:

<?php echo do_shortcode("[eapi keyword='{$variable}' n=25]"); ?>
<?php echo do_shortcode("[eapi keyword='" . {$variable} . "' n=25]"); ?>

我认为问题在于,您是从一个单引号开始的,它使内容文字化,并阻止您使用变量。您可能需要使用双引号,然后在任何引号之前使用反斜杠。您已经启动了php open tag和close tag,问题是如果我想添加类似插件的短代码,您再次启动了php open tag,如下所示:对于上面的代码,您的开始引号是单引号,结束引号是双引号
嘿,非常感谢您的回复。不幸的是代码:我不认为我理解正确。您是否将句号放在get_the_title()之后和下一个双引号之前?
<?php echo do_shortcode("[eapi keyword='" . {$variable} . "' n=25]"); ?>
<?php echo do_shortcode("[".KEYWORD." keyword='".func()."' n=25 x={$var}]"); ?>