问题描述

我试过使用

<?php
$my_id = 7;
$post_id_7 = get_post($my_id);
echo $post_id_7->post_content;
?>

基于 documentation here

我试图检索的文章有一个短代码,由我的网站上的一个插件,然后格式化成 HTML 。

问题是当我将 post_content 输出到该站点时,插件不会接收到短代码,我有效地直接将简短的代码写入浏览器。

有没有办法得到正确的代码评估?还是我使用错误的功能?

最佳解决方案

Post 的对象字段包含原始内容,因为它存储在数据库中。这应该格式化为使用模板标签检索时的显示方式:

$content = apply_filters('the_content', $content);

此过滤器运行格式化功能的数量,包括解码快捷码。接近这样的事情

>>>>>   the_content
8   (object) WP_Embed -> run_shortcode (1)
    (object) WP_Embed -> autoembed (1)
10  wptexturize (1)
    convert_smilies (1)
    convert_chars (1)
    wpautop (1)
    shortcode_unautop (1)
    prepend_attachment (1)
11  capital_P_dangit (1)
    do_shortcode (1)

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。