WordPressのget_postで抜粋文などが取得できないときの対処方法

WordPressで投稿のIDから投稿情報を取得しようとget_post()関数を使用したら、本文やタイトルは取得できるのですが、抜粋$post->post_excerptが取得できませんでした。

ググってみたら、解決方法をようやく海外のサイトで見つけたので、日本語の検索にもヒットするように、メモがてら紹介です。

photo by mkhmarketing

スポンサーリンク
レクタングル(大)広告

get_postで抜粋文を取得する方法

その方法というのが以下です。

参考 WordPress › Support » post_excerpt bug in get_post?

ポイントとなるのが4行目でsetup_postdata()を行わないと、$post_id->post_excerptなどに内容がセットされないようです。

投稿をIDなどの取得方法は、以下のような方法でも良いですし、他にも方法はいろいろあると思います。

まとめ

僕は当初、get_post()関数を利用するだけで、抜粋が取得されるものだと思っていて、思わぬ不具合になってしまいました。

get_post()を使って、投稿情報を取得し抜粋などを利用する場合は、setup_postdata()を利用すると覚えておく必要があります。