web-dev-qa-db-ja.com

WordPress APIを使用して、投稿のフォーマット済みコンテンツをどのように取得しますか?

使ってみた

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

ドキュメントのここに基づいて

私が取り出そうとしている記事はShort Codeを持っています。これは私のサイトのプラグインによって拾われ、そしてHTMLにフォーマットされます。

問題は、私がサイトにpost_contentを出力したときに、ショートコードがプラグインによって受け取られず、そして実際にはショートコードを直接ブラウザに書き出すことです。

短いコードを正しく評価する方法はありますか?それとも私は間違った機能を使用していますか?

8
Joseph

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) 
23
Rarst