Advanced Custom fields(以下、ACFとします。)のカスタムフィールドを使ってデータベースのようなものを作ってる時に、入力者情報を投稿作成者とは別で設定したいなと思いました。

なのでACFに用意されている「ユーザーフィールド」を使ってみる事に。

登録したユーザーの情報を呼びだすのに便利なフィールドです。

ユーザーフィールドの設定方法

「ユーザーフィールド」はフィールドタイプの中にある「ユーザー」を選択すれば設定できます。

フィールドで設定できる項目は少ないですが、便利なものが揃っています。

フィールドタイプの選択

ロールでフィルタする

ロールでフィルタする

「ロールでフィルタする」のところでは、権限で参照するユーザーを絞り込むことができます。

ユーザー管理と連携できるのでとても助かる機能です。

返り値のフォーマット

返り値のフォーマット

このフィールドで選択したユーザーの情報をどのように返すかを決めます。

User Array

ユーザーの登録時に入力した内容を呼び出せるようにします。

呼び題したいユーザー情報は、ほぼこれで呼び出すことができる印象です。

User Object

User Objectの場合はさらに細かい情報を呼びだすことができます。

公式のドキュメンテーションによると、WP_Userというワードプレスでのユーザー設定情報を返してくれるようです。

呼び出せる内容を書こうかとも思いましたが、ちょっと情報量が多いので・・・

User Arrayで呼び出せる情報に加え、権限や権限設定の内容といったものも返してくれるみたいですね。

詳しくはリファレンスのWP_userをご覧いただければと思います。

ざっくりとだと、バズ部さんのページが見やすかったです。

フロントエンドで細かいユーザーページを作るのには重宝しそうです。

get_fieldで呼び出す

呼び出し方は他のフィールドと同じくget_fieldというACFの関数を使います。

前述した配列のパラメーターを使用して呼び出す情報を決めます。

呼び出すユーザーデータは固定されているので、get_field()の第2引数のIDは不要です。

ちなみに、「複数の値を選択できるか?」をONにした場合はforeachでループを作ることで表示されます。

・・・試しのコードとはいえ、なんだか古めかしさを感じる・・・笑

複数のユーザー情報を表示する場合は便利です。

例えば、ブログ編集者一覧とかを作るのには良さそう。

ユーザー情報の呼び出しが簡単に

ACFのユーザーフィールドを使えば、ユーザーの情報をIDのしていなく引き出すことができます。

情報を呼びだすユーザーが決まっていればかなり便利な機能ですね。

が、ユーザーが変動する場合やカスタムフィールドでユーザー情報を追加した場合には、ちょっと使いづらいですね。

その場合はどうしてもIDが必要です。

次回はそこら辺について書こうと思います。

WordPress初心者~中級者の方にオススメの本!

WordPressデザインレシピ集

初心者と言ってもある程度WordPressでブログなどを作成した方にオススメです。
基本的なことから、「あれ何だっけ?」と忘れがちな事が良くまとめられています。
コードとプラグインの利用を平行させたWordPressの制作をする際に横に置いておきたい本です。

amazonでレビューをチェック

  ワードプレス関係の他の記事はこちらからどうぞ!  

「ホームページは必要なのだろうか・・・?」

SNSや様々なWEBサービスの登場で、ホームページ以外にもネット上で活動する方法はどんどん増え続けています。
そのようにサービスが増えても、ホームページは中心に据えられる数少ない必要不可欠なツールであると、当社は考えています。
 
株式会社 東建工業-インターネット事業部-では、ホームページ制作のご依頼を随時お受けしております。
 
・企業ホームページの作成
・ブログサイトの作成
・ECサイトの作成
 
など、ご要望に合わせて作成します。ご相談頂いた内容を踏まえて、こちらからご提案もさせて頂きます。
新規ホームページの作成だけでなく、すでに使用されているホームページのリニューアルについてのご相談もお受けしております。
ホームページ開設後の運営・運用についてのご相談もお受けしております。
 
お気軽にお問合せ下さい!
 

 
 

前の記事

次の記事

こちらも読まれています

お問い合せ

この記事の内容や当社についてのお問い合わせはこちらのフォームをご覧下さい。

ご利用前に当社のプライバシーポリシー免責事項をお読み下さい。

送信ボタンを押された時点で、当社プライバシーポリシー又は、免責事項にご同意頂いたものとみなします。