ひとりまとめ

もろもろのメモ

プログラム的にWordPressの「変更をプレビュー」の内容を取得したい!

WordPressの便利機能の1つである「プレビュー」。これがsingle-xxx.phpのようなテンプレートを使ってる時は何も考えずに使えるものの、データを引っ張ってきて別の箇所で使ってる場合はなかなか厄介。

ようやくそれっぽく使う方法がわかったっぽげなので、メモ。

 

動作が「保存」されたことがあるかどうかでちょっと異なるっぽいので、注意が必要です。

1:一度も保存されたことがない場合

新規作成で作った直後、保存する前にプレビューするぜ!というとき。今いじっている投稿のPIDが、そのまま使用できる。

なので、get_post()とかWP_Query()などを使ってPIDを指定することでそのまま取得できる。

 

2:保存されたことがある場合

下書き保存とか公開とかした後で、「ちょっと編集してプレビューしたい」というとき。この場合は、オートセーブされたデータを参照する必要がある。

wp_get_post_autosave()で編集中のPIDを指定すると、「変更をプレビュー」で表示すべき投稿の内容が取得できる。

 

とりあえずwp_get_post_autosave()を取ってみて、そこにIDがなければ元のPIDで取り直すってことをするのが良いのかな〜という感じでした。

 

 

カスタマイズをやりだすと、管理画面を使うくらいになってきちゃってどうしたものか・・・ということになるけど、ひとまず。

 

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル