なおこお記事は、Wordpress3.01、Download Cimy User Extra Fields 2.0を使用します。
プラグインのダウンロード
下記URL「Download Cimy User Extra Fields 2.0」からプラグインをダウンロードしてください。
marcocimmino.net » Cimy User Extra Fields for WordPress
Cimy User Extra Fieldsオプション設定
プラグインをダウンロードしたら、通常通り「plugins」フォルダにアップしてインストールしましょう。
また、「wp-content」フォルダに「Cimy_User_Extra_Fields」という名前で新たにフォルダを作成します。
「Cimy User Extra Fields 」から画像を保存する場合、Wordpressの設定画面で指定してあるフォルダには保存されないでこちらに保存されます。
プラグインを有効にすると設定のサブメニューに「Cimy User Extra Fields 」が表示されます。
上部メニューではとりあえず「User Profile」の「Extra Fields section title」だけ設定しておきます。
ここの文字は追加されるカスタムフィールドの見出しになります。
次に最下部の「Add a new Field」です。ここで追加するカスタムフィールドの設定を行います。
主な項目の説明です。
名前 | テンプレートから呼び出すときのキー |
---|---|
値 | デフォルトの値 |
Type | カスタムフィールドのタイプ |
Label | 管理画面でのラベル名 |
説明 | 管理画面での説明文 |
他に文字数を制限する「Max length」などがあります。テキストエリアなどは設定したくても大丈夫ですが、「picture」を選択した場合「Max size」を選択しないと項目が追加されないようです。
入力が終わったら「Add fied」を押しましょう。
「Add a new Field」の下の「Extra Fields」に今入力した項目が表示されていれば成功です。
今回は次のように設定しました。
ユーザープロフィール設定
設定が終わったら実際にカスタムフィールドが追加されているか確認しましょう。
ユーザーサブメニューには新たに「A&U Extended」という項目が追加されています。
このメニューはユーザー一覧を表示しますが、通常のと違い新たに追加したカスタムフィールドの情報も表示されます。
ユーザー名をクリックして編集画面に移動します。
最下部に追加したカスタムフィールドが表示されているはずです。
適当に入力して「ユーザー更新」ボタンを押します。
テンプレートファイルを編集
テンプレートファイルは「author.php」を編集します。ファイルがない場合は新たに作成しましょう。
また、authorテンプレートのカスタマイズは「ユーザーページ(author.php)テンプレートをカスタマイズする」も参考にしてください。
プラグインで設定したカスタムフィールを取得するには「get_cimyFieldValue」関数を使用します。
「get_cimyFieldValue」の書式は次のようになります。
$value = get_cimyFieldValue(ユーザーID, フィールド名);
authorテンプレートでは、「$author」でユーザーIDを取得することができます。
フィールド名は「名前」の項目で入力した値になります。
なので設定したカスタムフィールド「紹介文」を表示するには次のようにするとよさそうです。
author.php
<?php $value = get_cimyFieldValue($author, 'INTRO'); echo cimy_uef_sanitize_content($value); ?>
とりあえず表示できたはずです。
表示するには「cimy_uef_sanitize_content」関数を使用すれサニタイズ処理をしてくれるようなのですが、これだとせっかくリッチテキストフィールドで入力してもあまり意味ないですね。
author.php
<?php echo get_cimyFieldValue($author, 'INTRO'); ?>
当然ですが、そのままechoすればエスケープされません。
テンプレートができたら下記URLで確認してみましょう。
http://www.example.com/author/[ユーザー名]
画像を表示
「picture」で設定した画像も表示してみましょう。これも基本的に変りません。
author.php
<?php $avater = get_cimyFieldValue($author, 'AVATER_IMG'); ?> <img src="<?php echo cimy_uef_sanitize_content($avater); ?>" width="50" height="50" class="avatar" />
URLが保存されてますのでimgのsrcの部分に表示させるだけですね。