勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressでユーザー毎にフラグを持たせ分岐処理を行う方法

   2024/02/22  WordPress

WordPressでユーザー毎に何らかのフラグを持たせて、フラグによって分岐処理を行いたかった。権限グループという振り分けもあるけど、できれば独自のフラグで管理したかった。以下に方法をメモ。

 

ダッシュボード側に機能追加

テーマのfunctions.phpに以下を記述する。

function user_original_flg( $user ){
    $user['flg'] = 'フラグ(hoge/fuga/piyo)';
    return $user;
}
add_filter('user_contactmethods', 'user_original_flg', 10, 1);

flgの部分は適宜書き換え可能で、ここに書いた名前がWordPressデータベースにあるusermetaテーブルのmeta_keyに書き込まれる。

「フラグ(hoge/fuga/piyo)」はWordPressのダッシュボード側に表示される。適当に説明文を書くと良い。

 

出力方法

$user_flg = get_user_meta($author_id, 'flg', true); //$author_idはユーザーID

で取り出せる。尚、既存のmeta_keyと重複した場合にどうなるか分からないので気をつける。

以下の「ユーザーのプロフィール項目」のキーは避けておいた方が良さそう。

http://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_user_meta

 - WordPress

  関連記事

wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法

WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...

Contact form7で送信数を測定(トラッキングタグ)

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

WordPressで自動でmetaタグのkeywordsとdescriptionを表示

metaタグのkeywordsとdescriptionにて、基本的にはAll i ...

gzip圧縮とキャッシュをhttpd.confで設定する方法

今まで共用サーバーで使っていたWordPressをVPSに移した。せっかくなので ...

WordPressの自動更新(アップデート)を無効化する方法

あるサーバで通常はロードアベレージが1未満だけど10以上に上がりサーバに接続しづ ...