2012
11/02

下書き(statusがdraft)の記事のパーマリンクを取得する

下書きで保存している記事でも一覧に表示させたい場合、以下のようにquery_postsのpost_statusを指定すれば通常の記事と同じようにループに含まれて表示されます。

しかしこのdraftの記事はthe_permalinkでパーマリンクが正常に取得できません。ダッシュボードで指定したルールではなく、デフォルト状態(?page=0000みたいなやつ)が取得されます。

そんなときは$postをcloneしてstatusをpublishに変更し、その上でpermalinkを取得します。
本体の$postオブジェクト(と呼んでいいのかは不明。配列と呼ぶべきでしょうか?)ではなく、あくまでcloneしたものにstatusの書き換えを行っているので、もともとの記事には何の影響もありません。

何が言いたいかよく分からない感じになりましたので、コードを見たほうが分かりやすいと思います・・・。
functions.phpに以下の記述を追加します。

ADs

どういう場面で使うのか?

ダッシュボードを使わず記事の管理や編集を行う仕組みを作っていて、ログイン時だけ下書きの記事も表示させる、みたいなことに使ってます。

ADs

Post Comments

メールアドレスが公開されることはありません。

Comments

コメントはまだありません。