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

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

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

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

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

AD

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

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

AD

Share

Commentsコメント

メールアドレスは公開されません。コメントは必ずご入力ください。

HTMLタグは使用できません。ソースコードを書き込みたい場合はCodetterGistCodePenなどのご利用が便利です。

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