WordPressWordPressのカスタムフィールドは投稿ページや固定ページごとに情報を持たせて、いろいろな処理をするのにとても便利なのでいつも使っています。デフォルトのカスタムフィールド編集画面はテキストエリアのみなので、性質の違う情報や1つのキーに複数の情報をもたせたい時に使い勝手が悪くなります。対象の記事にある項目が有効or無効のどちらかである情報を持たせたいとき、有効=’1’、無効=’0’という情報をテキストエリアに入力するのは少し使い勝手が悪いです。1種類のキー(meta_key)に複数の値を持たせたい場合、同じ名前のキーで違う値のものを追加していけば可能ですが、とても扱いにくいです。いった場合は、チェックボックスを使って設定ができれば使い勝手がとても良くなります。それ以外にもラジオボタンやプルダウンメニューで選択設定を持たせることもとても有効です。それではこれらの画面を作ってみましょう。編集画面を作る管理画面に独自のカスタムフィールド設定項目を持つには、以下の2つの流れの処理を行います。”add_meta_boxes”をアクションフックして、カスタムフィールドの編集画面を作ります。以下のコードをfunction.phpに追加します。“add_meta_box”の引数に設定するコールバック関数で、カスタムフィールドを設定するためのチェックボックスやラジオボタンなどを表示するHTMLを記述します。'</dl>';}カスタムフィールドの編集画面を作成したら、次に設定した値を保存する処理を記述します。以下のコードをfunction.phpに追加します。一度だけ使われる番号という意味で、ワンタイムトークンと呼ばれることもあります。POSTやGETなどのHTTPリクエストを使った悪意ある攻撃などから防御します。一度だけ使えるワンタイムトークンなので、重複したリクエストから悪意あるリプライ攻撃を見破り、Webサイトを保護します。WordPressのnonceは管理画面に対するCSRF攻撃(URL-wiki)対策としてより単純化されていて、データベースへの保存など重要な場面で、通常の認証や権限のチェックだけではスルーしてしまうCSRF攻撃を、nonceで防ぐのがお約束となっています。厳密にはWordPressのnonceはワンタイムではなく24時間再利用が可能になっています。これらの設定項目を使って内容を表示するとこのようになります。各カスタムフィールドの値は必要に応じてエスケープやサニタイズを行ってください。独自にカスタムフィールド設定項目を作成する方法を紹介しましたが、独自に作成するのが嫌な場合はプラグインを使う方法もあります。Fieldsというプラグインを使えばとても簡単にカスタムフィールドを使うことができます。構築するサイトの内容や状況に応じてカスタムフィールドの使用方法を選んでください。WordPress関連記事WordPress翻訳関数についてWordPressで作成したサイトを多言語化するときに、__()や_e()などの翻訳関数を使用して翻訳します。主な関数と使い方を簡単に説明したいと思います。記事を読む画像サイズ指定で知っておくべきことサムネイル付きの投稿一覧を表示する際に、画像のサイズ指定で少し混乱しました。理解しているつもりだったのに忘れていたので、備忘録としてまとめます。記事を読むWordPressのバックアップを取るWordPressを使ってブログを書き始めると、必ずバックアップを取るようにしましょう。気がつけば記事の量も増えてきた時に、何か問題があって...記事を読むローカル環境で作成したWordPressのサイトをレンタルサーバーへ移行する方法ローカル環境で作成したWordPressサイトをレンタルサーバーへ移行する方法についてまとめています。ローカル環境はXAMPP/MAMP/DS216j(NAS)を使った環境を想定しています。レンタルサーバーはさくらインターネットを想定しています。Adsenseがなんか変な表示になって困った時はあれやこれを確認してみよう。記事を読むレンタルサーバーで作成したWordPressのサイトをローカル環境へ移行する方法レンタルサーバー環境に作成したWordPressのサイトをローカル環境へ移行する方法についてまとめています。ローカル環境はXAMPP/MAMP/DS216j(NAS)を使った環境を想定しています。レンタルサーバーはさくらインターネットを想定しています。記事を読むWordPressのexcerpt文字数は日本語と英語で違う投稿記事の一覧などで表示するexcerptの長さ設定は日本語と英語で違います。WordPressでマルチバイトはうまく処理されない部分が...記事を読むMAMPの使い方まとめ3MAMPインストール直後はMySQLのrootパスワードの初期設定が”root”となっています。安全性を良くするためにMAMPに実装され...記事を読むサイトのSSL化について(さくらインターネット)サイトのSSL化をするのに想像以上に試行錯誤しました。備忘録としてだけでなく、今後SSL化を検討している人たちの有益なネタとなれば幸いと情報...記事を読むjCarouselLiteを使ってみた表示されている記事ページに関連記事のリストを小さく表示しているのだが、こそっと表示していることもあって最大4件だけが表示される小さなボックスになっています。他のサイトなどを観ると、横にスクロールしてリストをできるだけ多く見せている所が多いです。一眼レフアーカイブ2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月2019年4月2019年3月2019年1月2018年12月2018年10月2018年9月2018年8月2018年6月2018年5月2018年2月2018年1月2017年12月2017年11月2017年10月2017年9月2017年8月2017年7月2017年6月2017年5月2017年4月2017年3月2017年2月2017年1月2016年12月2016年11月2016年10月2016年9月2016年8月2016年7月2016年6月2016年5月プロフィールBirdy大手ITセキュリティ会社でエンジニア、プロジェクト・プロダクトマネージャーを経て現在はWebサイト運営しながら「幸せに生きる」「楽しいこと」を模索している自由人。東京在住してた大阪人。