この記事では「管理画面で投稿やカスタム投稿の公開ステータスを更新したときに何かしらの処理をする」方法の備忘録です。
functions.php を修正します。重要なファイルなので、試す場合はバックアップを忘れずに。
それでは、早速これらの経緯を踏まえて実装してみる。
functions.php に追加(追加場所はどこでも)
/**
* 記事が公開、もしくは非公開にステータスが変更された場合に処理をする
*/
function when_post_publish_or_not($new_status, $old_status, $post) {
// ステータスが公開以外から公開に変わった場合、もしくは公開から公開以外に変わったか判別する
if (($new_status === "publish" && $old_status !== "publish") ||
($new_status !== "publish" && $old_status === "publish")) {
// ファイルにアクセスする
$load_nav_file = file_get_contents("{ファイルのURL}");
if (!$load_nav_file) {
// アクセスに失敗した場合はメール通知する
wp_mail("{メールアドレス}", "メールタイトル", "メール本文");
}
}
}
add_action('transition_post_status', 'when_post_publish_or_not', 10, 3);
以上で、if文やif文の中身をカスタマイズすることで、「投稿やカスタム投稿の公開ステータスを変更したときに何かしらの処理をする」ことができる。
少し補足しておく。
$new_status、$old_status は、基本下記のいずれかの投稿ステータスの情報を持っている(カスタム投稿ステータスというのもあるらしいが詳細不明)。
これらを組み合わせることで、投稿ステータスがどのような状態か判別できる。
| new | (新規) | 以前のステータスが存在しない状態 |
|---|---|---|
| publish | 公開済 | |
| pending | 承認待ち | |
| draft | 下書き | |
| auto-draft | 自動保存 | 作成されたばかりの投稿で、コンテンツがない |
| future | 予約済 | 未来に公開を予定されている投稿 |
| private | 非公開 | ログインしていないユーザーには表示されない |
| inherit | 継承 | リビジョンまたは添付ファイル |
| trash | ゴミ箱 |
第3引数の$postを使って、投稿タイプを取得できる。
$post -> post_type
$post -> post_type で、投稿の場合は、"post"、カスタム投稿の場合は、任意に設定した投稿タイプスラッグを取得できる。
この書籍の中で、ライティングのユーザビリティについて触れている項目があり、激しく共感する部分だったので、ここで備忘録としてピックアップする。 ・・・
この書籍は、I部 リサーチ、II部 デザイン、III部 インプリメンテーションと三部構成になっている。この記事では、その中から、I部 リサーチ、・・・
これを知ったときはマジか!と飛び跳ねた。あらためて思い返してみると、確かに公式チュートリアルでも触れていたことをうっすら思い出す。そしてそのときとやり方がなん・・・
試したことはまだないけど、Macで編集時と書き出し後で色味が変わって困ったときのために備忘録。 プロジェクト設定 > 「カラーマネジメント・・・
プロジェクト設定と環境設定について詳しく解説されている情報がなかなか見つからないので、要所要所で知り得た情報を更新していきます。 プロジェクト設定 ・・・
Clipyが超絶便利そうだったので、macOS Big Sur にインストール&再起動して使ってみた。ところが、command + c を複数の箇所で行い、c・・・
requestAnimationFrame をはじめて見たので調べていたら、setTimeout や setInterval は requestAnimati・・・
6年ぶりに読み返したが、今なおハッとさせられることが多く見つかる。 この本で忘れないようにしたい項目をピックアップするだけでも役に立ちそ・・・
この記事では、以前に読んだ際に付箋を付けていたが、その部分だけを備忘録としてピックアップするため、本の要約ではない。実際は、何倍も濃い内容で、練・・・
もう一回、全部読み返したいところだが、書籍がありすぎるので、当時付箋紙をつけていたところだけをピックアップ。書籍内ではより具体的な説明があるので・・・
これまでに扱ったことのないようなものを取り扱うときには、次のような問いを参考にすると何をしたらよいかが分かってくる。 どの部分が可動部で、どの部分が固定部か。・・・
以前に書いた「このサイトのリニューアル」で、リニューアル意思を示しつつも結局保留にして、先送りしてしまっていたけど、このあいだの週末(2013.3.29-30)・・・
エラーが起こっても大丈夫なシステムを作ると、みんなそれに頼るようになるので、信頼性を高くしておいたほうがよいだろう。 エラーの原因を理解し、その原因が最も少な・・・
こんな製品は使いたくない例1 教示がよくない。 システムの操作が可視的でない。 操作した結果が目に見えない。 こんな製品は使いたくない例2 デザイナーは良か・・・
新規コンテンツ「たびのと言ノ葉」公開 Webマガジン「たびのと」を夏に公開しましたが、たびのとのコンテンツの一つとして「たびのと言ノ葉(ことのば)」を新規で作・・・
いつもは直接アップロードしているので気にしていなかったが、WordPress管理画面のメニュー「メディア」からfavicon.icoをアップロードしようとした・・・
「デザインノート EXTRA good design company 水野学」から抜粋して自分なりの解釈を追加した過去メモ。 「iD」メイキング ・・・
外界の中の知識 人は環境を構造化して、思い出さなくてはならないものに関する多量の情報を手に入れることができるようにしている。 そのために、「ofの知識(事実につ・・・
もはや他ブラウザでも問題ないようにクロスブラザ対応だけでなく、スマートフォンやタブレット端末などマルチデバイスに対応できるようになっておかなければ、という時代に・・・
いろいろ調べると、疑似クラス「:placeholder」と「:placeholder-shown」というのにいきつく。 ちょっとハマってしまったので備忘録。ハマ・・・
「test」
「>ころころさん コメントありがとうございます! 確かに、APIドキュメント見ましたが、ライブに関する情報は今のところ取得できないようですね。 インスタライ・・・」
「SIGMAから超軽量で明るい単焦点レンズが2本発売になりましたので、リストにレンズ情報追加しました!」
「>名無しさん ご指摘、ありがとうございます! 記事冒頭の「まずはサンプル」のサンプルが動いていませんでしたので修正しました。」
「>前田さん コメントありがとうございます。 環境は分かりかねますが、修正したいファイルのパーミッションを604や644に変更すると書き込みできるようになります(・・・」
「アバターを取得する「get_avatar」についても追記しました!」
「「値をクリアする」を追加しました。チェックボックスやラジオボタンの値を何も選択していない状態に戻すときについて触れています。」
「>匿名さん コメントありがとうございます。 サンプルでは、beforeは何も処理していないので期待する表示にならない、で正解です。 クリックした後が、対応・・・」
「(匿名)さん コメントありがとうございます。何も設定変更していないのに、それまで使用できていたサーバーが突然使えなくなるのは辛いですよね、、。 ここで紹介したや・・・」
「コメントありがとうございます! そもそもできるかはわかりませんが、ソースを書き換える必要はあります。 下記記事などが参考になるかもしれません。 illustra・・・」