使用PHP在Wordpress帖子中编写短代码

时间:2014-03-05 12:35:42

标签: php wordpress shortcode

我想使用php帮助程序将短代码发布到我的WP页面。这最终将包含变量,但是现在我只想在页面呈现时解析短代码。

我有以下PHP,它正确地为我的页面呈现一个表...

<?
require_once( 'http://mywebsite.com/wp-load.php' );

$therm_sponsor = "[thermometer raised=0 target=1000]";
$therm_expenses = "[thermometer raised=0 target=1000]";

echo '<table>';
echo '<tbody>';
echo '<tr align="center" valign="middle">';
echo "<td>". do_shortcode($therm_sponsor) ."</td>";
echo "<td>". do_shortcode($therm_expenses) ."</td>";
echo '</tr>';
echo '<tr align="center" valign="middle">';
echo '<td>Funds Raised </td>';
echo '<td>Expenses Covered </td>';
echo '</tr>';
echo '</tbody>';
echo '</table>';

?>

然后我使用插件Shortcode Exec在我的帖子中包含它,它本身使用短代码在页面体中包含PHP。

但是,当我加载页面时,我会看到此表,其中包含上述两个短代码的文本版本。换句话说,php正在输出html,但包含的短代码不会被Wordpress视为短代码。

仅供参考,这两个短代码用于温度计跟踪捐赠的插件。

虽然这看起来像是一种迂回的方式,但主要原因是我以后可以使用php将动态变量添加到温度计短码中。

为清楚起见,以下是我使用的步骤......

  • 使用PHP Exec插件包含PHP帮助程序
  • 使用PHP Exec短代码在我的页面上调用
  • 加载页面确实从php帮助程序中呈现出我的html表格,但表格中的两个短代码不会被Wordpress视为短代码,并以文本呈现

如何通过Wordpress解析第二层短代码?

编辑:代码已更新。错误Fatal error: Call to undefined function do_shortcode()

1 个答案:

答案 0 :(得分:2)

如果我正确理解你的问题,那么你需要这样的东西: -

用以下代码替换以下行: -

echo "<td>". do_shortcode($therm_sponsor) ."</td>";
echo "<td>". do_shortcode($therm_expenses) ."</td>";

这将根据您的短代码执行操作..


如果您的帮助文件在WordPress之外,则需要在帮助文件的最顶部添加require_once( 'YOUR_WORDPRESS_DIRECTORY_PATH/wp-load.php' ); ...

将此文件包含在帮助程序中后,您可以在帮助程序中使用WordPress的任何功能...