我正在尝试将帖子/页面插入我的一个主题文件中,它不会显示短代码或php
我在wordpress admin-paned中创建了一个名为home的页面,并在我的代码中插入以下内容:
<div id="home_page"> <!-- echos the content from the page "home" id:43 -->
<?php $home_id = 43;
$home_page = get_page( $home_id );
?>
<?php echo $home_page->post_content; ?>
</div> <!-- end #home_page -->
和我在页面工作中没有的短代码。
我安装了一个php in post or page
,并尝试使用php,它不起作用。
当我插入
echo do_shortcode('[youtube_sc url=http://www.youtube.com/watch?v=Db3XGpt6nNU]');
直接进入它运作的代码。
有谁知道这发生了吗?
谢谢。答案 0 :(得分:1)
我引用:
您需要应用过滤器the_content例如:
<?php echo apply_filters('the_content',$home_page->post_content); ?>
此外,您不需要youtube的自定义短代码,只需将URL放在内容中(但不是超链接),它将在运行时换出youtube播放器。由于oembed,无需插件或额外代码。
谢谢你Tom J Nowell
答案 1 :(得分:0)
$ home_page-&gt; post_content值是存储在数据库中的确切帖子内容。回应这一点并不能让你的任何短代码都有机会运行。
你应该使用“WordPress循环”来显示内容,因为这会设置允许你使用模板标签,如the_title()和the_content() - 这将调用处理函数的短代码和其他功能,如wpautop()表示“按摩”发布内容以供输出。
如果您不想使用循环,则可以使用输出内容 echo do_shortcode($ home_page-&gt; post_content);
这将通过短代码处理器运行发布内容,使短代码有机会运行。
有关WordPress如何“按摩”发布内容的更多信息,请查看此处:http://codex.wordpress.org/How_WordPress_Processes_Post_Content