質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1042閲覧

WordPressのDisplay Nameについて

MATRIX

総合スコア16

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/11/15 01:41

編集2018/11/15 10:20

現在、WordPressの会員登録用のフォームを作っております。
その中に下記のフィールドがあります。
・ニックネーム (nickname)
・姓 (last_name) 必須
・名 (first_name) 必須

フォーム自体は問題なく機能しているのですが、登録を行うとDisplay Name(表示名)が、
first_name + last_nameとなってしまい、「名 姓」となってしまいます。
田中 太郎の場合、「太郎 田中」としてDisplay Nameが設定されます。

PHP

1add_action ('admin_head','make_display_name_f_name_last_name'); 2function make_display_name_f_name_last_name(){ 3 $users = get_users(array('fields'=>'all')); 4 foreach($users as $user){ 5 $user = get_userdata($user->ID); 6 $display_name = $user->nickname; 7 if($display_name!=' ') wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) ); 8 else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); 9 if($user->display_name == '') 10 wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); 11 } 12}

上記を使うとデフォルトでニックネームがDisplay Nameとして登録されます。

こちらを下記のようにしたいと考えております。

  1. ニックネームが入力された場合、ニックネームの値をDisplay Nameに設定。
  2. ニックネームが入力されなかった場合、last_name + first_name(姓 名)に順番を変更してDisplay Nameに設定。

可能であれば、こちらの制御をテーマのfunctions.phpで行いたいと考えております。

どなたかご教授頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

PHP

1// 未検証 2function set_default_display_name( $user_id ) { 3 $user = get_userdata( $user_id ); 4 $args = array( 5 'ID' => $user_id, 6 'display_name' => $user->nickname 7 ); 8 wp_update_user( $args ); 9} 10add_action( 'user_register', 'set_default_display_name' );

【Set the Default Display Name for WordPress Users | Steve Grunwell】
https://stevegrunwell.com/blog/wordpress-user-default-display-name/

投稿2018/11/15 02:27

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/11/15 15:46

質問内容に追記があったが、回答にて提示の内容で処理できる範囲かと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問