如何将 php 代码插入 HTML 中的简码?
How can I insert a php code into a shortcode in HTML?
我想在 HTML 编辑器中将 php 代码添加到短代码中。
我的短代码如下所示:
<?php echo do_shortcode('[eapi keyword="KEYWORD" n=25]'); ?>
如果我只输入一个词而不是 KEYWORD,它就可以工作。现在我想用这个 php 代码添加一个单独的标题:
<?php the_title(); ?>
所以我像这样将它插入简码中:
<?php echo do_shortcode('[eapi keyword="<?php the_title(); ?>
" n=25]'); ?>
但不幸的是,它没有用。我怎样才能成功地将此 php 代码插入短代码?
我认为您需要修改您的 eapi 插件以支持您的要求。
比如你可以在你的eapi插件上做一个规则来分析参数的关键字。
1)如果是简单字符串,直接return
2) 如果是类似“{{{......}}}”的字符串,用eval函数运行作为 php 脚本然后 return.
使用类似
的东西
<?php do_shortcode('[eapi keyword="' . get_the_title() . '"]'; ?>
您需要 get_the_title,因为它将 return 标题而不是直接输出它(如 the_title 那样)。由于您已经处于 PHP 模式,因此您不需要任何额外的
这是一个可能的解决方案,但我不熟悉您正在使用的plugin/context。但这也许会给您一些想法:
<?php echo do_shortcode("[eapi keyword=\"" . the_title() . "\" n=25]"); ?>
所以我删除了内部的 php 标签。我将外引号改为双引号,因为您不能在单引号内使用 functions/variables。同时,我连接了 title 函数,因为我认为它不能在引号中解释。这也可能否定双引号的需要,但习惯的力量。
编辑 - 为清楚起见,原始问题之外的一些其他使用示例。
字符串中的变量需要双引号:
<?php echo do_shortcode("[eapi keyword='{$variable}' n=25]"); ?>
变量连接可以使用单引号或双引号:
<?php echo do_shortcode("[eapi keyword='" . {$variable} . "' n=25]"); ?>
关键字和函数必须串联:
<?php echo do_shortcode("[".KEYWORD." keyword='".func()."' n=25 x={$var}]"); ?>
我想在 HTML 编辑器中将 php 代码添加到短代码中。 我的短代码如下所示:
<?php echo do_shortcode('[eapi keyword="KEYWORD" n=25]'); ?>
如果我只输入一个词而不是 KEYWORD,它就可以工作。现在我想用这个 php 代码添加一个单独的标题:
<?php the_title(); ?>
所以我像这样将它插入简码中:
<?php echo do_shortcode('[eapi keyword="<?php the_title(); ?>
" n=25]'); ?>
但不幸的是,它没有用。我怎样才能成功地将此 php 代码插入短代码?
我认为您需要修改您的 eapi 插件以支持您的要求。
比如你可以在你的eapi插件上做一个规则来分析参数的关键字。
1)如果是简单字符串,直接return
2) 如果是类似“{{{......}}}”的字符串,用eval函数运行作为 php 脚本然后 return.
使用类似
的东西 <?php do_shortcode('[eapi keyword="' . get_the_title() . '"]'; ?>
您需要 get_the_title,因为它将 return 标题而不是直接输出它(如 the_title 那样)。由于您已经处于 PHP 模式,因此您不需要任何额外的
这是一个可能的解决方案,但我不熟悉您正在使用的plugin/context。但这也许会给您一些想法:
<?php echo do_shortcode("[eapi keyword=\"" . the_title() . "\" n=25]"); ?>
所以我删除了内部的 php 标签。我将外引号改为双引号,因为您不能在单引号内使用 functions/variables。同时,我连接了 title 函数,因为我认为它不能在引号中解释。这也可能否定双引号的需要,但习惯的力量。
编辑 - 为清楚起见,原始问题之外的一些其他使用示例。
字符串中的变量需要双引号:
<?php echo do_shortcode("[eapi keyword='{$variable}' n=25]"); ?>
变量连接可以使用单引号或双引号:
<?php echo do_shortcode("[eapi keyword='" . {$variable} . "' n=25]"); ?>
关键字和函数必须串联:
<?php echo do_shortcode("[".KEYWORD." keyword='".func()."' n=25 x={$var}]"); ?>