如何使用WordPress API获取帖子的格式化内容?


8

我尝试使用

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

根据此处文档

我尝试检索的文章包含短代码,该短代码由我网站上的插件提取,然后格式化为HTML。

问题是当我将post_content输出到站点时,插件未提取短代码,而我实际上只是直接将短代码写到浏览器中。

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

Answers:


23

帖子的对象字段包含原始内容,因为它存储在数据库中。这应该将其格式化为使用模板标签检索时的外观:

$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) 

非常感谢。我在法典上找了一个小时。
约瑟夫

@Joseph-尽管WordPress核心社区中的许多人为 Codex感到骄傲,但我也发现很难在其中找到任何内容,除非您已经知道要查找的内容。感谢天才WordPress的答案!
MikeSchinkel 2010年

正是我在看的样子:)
阿提夫·穆罕默德·阿缅努丁

@MikeSchinkel在这种情况下,我倾向于在core的本地副本上进行文本搜索...但是编
解码器
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.