先日、get_post()で投稿データを取得する方法を書きましたが、本文にショートコードが入っているとそのままでは展開されずそのままショートコードが出力されてしまいます。
ショートコードが展開されないコード
$post_obj = get_post(601);
echo $post_obj->post_content;
ショートコードが展開されるコード
get_post() で取得した $post_obj->post_content を do_shortcode() の第一引数に入れて実行すると意図した通りショートコードが有効になり展開されたソースが出力されます。
$post_obj = get_post(601);
echo do_shortcode($post_obj->post_content);
動作環境情報
エックスサーバー(x10) PHP 7.3.14 MySQL 5.7 WordPress 5.4
コメント