我想使用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将动态变量添加到温度计短码中。
为清楚起见,以下是我使用的步骤......
如何通过Wordpress解析第二层短代码?
编辑:代码已更新。错误Fatal error: Call to undefined function do_shortcode()
答案 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的任何功能...