【问题标题】:wordpress post/page content in code代码中的wordpress帖子/页面内容
【发布时间】:2012-04-04 15:01:01
【问题描述】:

我正在尝试将帖子/页面插入到我的一个主题文件中,但它不会显示短代码或 php

我在 wordpress 管理面板中创建了一个名为 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]');

直接进入它工作的代码。

有人知道你会发生这种情况吗?

谢谢。

【问题讨论】:

    标签: php wordpress shortcode


    【解决方案1】:

    我在wordpress.stackexchange.com得到了答复

    我引用:

    您需要应用过滤器 the_content 例如:

    &lt;?php echo apply_filters('the_content',$home_page-&gt;post_content); ?&gt; 此外,您不需要 youtube 的自定义短代码,只需将 URL 放入内容中(但不是超链接),它会在运行时换成 youtube 播放器。 oembed 无需插件或额外代码。

    谢谢Tom J Nowell

    【讨论】:

      【解决方案2】:

      $home_page->post_content 值是存储在数据库中的确切帖子内容。回应这一点不会让您的任何短代码有机会运行。

      您应该使用“WordPress 循环”来显示内容,因为这设置允许您使用模板标签,例如 the_title() 和 the_content() - 这将调用短代码的处理函数和其他函数,如wpautop() “按摩”发布内容以进行输出。

      如果您不想使用循环,可以使用输出内容 echo do_shortcode($home_page->post_content);

      这将通过简码处理器运行帖子内容,让简码有机会运行。

      有关 WordPress 如何“按摩”帖子内容的更多信息,您可以查看此处:http://codex.wordpress.org/How_WordPress_Processes_Post_Content

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-09
        • 2018-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多