[WordPress] Meta Boxプラグインを使用する

Last Updated: 2016 年 01 月 15 日 2のコメント

WordPress Meta Boxプラグイン

概要

メタボックス プラグインはカスタムメタボックス(meta box)と カスタムフィールド(カスタムフィールド)を簡単に作成できる綺麗でプロフェッショナルなソリューションです。 このプラグインは、より柔軟なデータを投稿(投稿)、ページ、またはカスタム投稿タイプ(カスタム投稿タイプ)に追加する WordPressの基本機能を拡張します。

このプラグインをインストールしてみると、別の設定メニューとかオプションはありません。 このプラグインページに記載されているマニュアルを参照して、必要なメタボックスを直接追加する必要があります。

Meta Boxマニュアル

Meta Boxを使用する

それから始めるためにあなたのマニュアルに行きます。 それから使用中 WordPress テーマの関数ファイル(のfunctions.php)に次のコードを追加するように指示します。 コードをそのままコピーするか、少し変更して関数ファイルにコピーします。 私は英語のラベルだけをハングルで修正してみましょう。

// 메타 박스 등록
add_filter( 'rwmb_meta_boxes', 'your_prefix_meta_boxes' );
function your_prefix_meta_boxes( $meta_boxes ) {
$meta_boxes[] = array(
'title'      => '테스트 메타 박스',
'post_types' => 'post',
'fields'     => array(
array(
'id'   => 'name',
'name' => '이름',
'type' => 'text',
),
array(
'id'      => 'gender',
'name'    => '성별',
'type'    => 'radio',
'options' => array(
'm' => '남성',
'f' => '여성',
),
),
array(
'id'   => 'email',
'name' => '이메일',
'type' => 'email',
),
array(
'id'   => 'bio',
'name' => '자기소개',
'type' => 'textarea',
),
),
);
return $meta_boxes;
}

上記のコードを関数ファイルに登録した場合 記事>新しい記事を書くで新しい記事作成画面に移動しましょう。 すると、下図のように文作成画面に登録したばかりのメタボックス(Meta Box)が追加されています。

WordPressメタフィールドを追加する

もっとフィールドを追加したい場合 ここから demo.php ファイルをダウンロードできます。

demo.php ファイルをテーマフォルダにアップロードした後 のfunctions.php ファイルに include 'demo.php';を追加してデモファイルをロードできます。

個々の記事でメタボックスに値を入力した場合は、フロントエンドに表示する必要があります。 値を読み込むには、次の関数を使用します。

rwmb_meta( $field_id, $args = array(), $post_id = null );

値を表示するには、 echo コマンドを使用します。

<?php echo rwmb_meta( $field_id, $args, $post_id ); ?>

例:

生年月日表示(date):

echo rwmb_meta( 'dob' );

興味のリストを表示(checkbox_list):

$interests = rwmb_meta( 'interests', 'type=checkbox_list' );
echo implode( ', ', $interests );

もっと詳しく Get custom field value and display in the frontend (カスタムフィールド値を取得してフロントエンドに表示する) マニュアルとMeta Boxの 他のマニュアルを参照してください。

メモ:


2のコメント

コメント

  1. こんにちは、記事を見てフォローしてみました。
    管理画面出力までは良かったですが…
    見えるページで出力をどうするかアドバイスをお願いします
    私が英語をよく知らずに翻訳をしながら、あちこち全部やってみたのですが安保です。
    忙しいですが、出力する例として画像を出力する方法を教えてください

    応答