オプションページの作成機能等を追加した Smart Custom Fields 2.1.0 を公開しました。

Smart Custom Fields 2.0.0〜2.1.0 で下記のアップデートを行いました。

  • オプションページの作成機能を追加
  • WYSIWYG フィールドにビジュアル・テキストの切り替えタブを追加
  • チェックボックス、ラジオボタン、セレクトボックスの選択肢の設定でキーと値に別々の値を指定できるように変更

オプションページの作成機能を追加

テーマの functions.php 等に下記のコードを追加することでオプションページを作成し、そこにカスタムフィールドを設置できるようになりました。ページ単位とかカテゴリー単位ではなく、サイト共通で使用するようなオプションを設定したい場合に便利です。

/**
 * @param string $page_title ページのtitle属性値
 * @param string $menu_title 管理画面のメニューに表示するタイトル
 * @param string $capability メニューを操作できる権限(maange_options とか)
 * @param string $menu_slug オプションページのスラッグ。ユニークな値にすること。
 * @param string|null $icon_url メニューに表示するアイコンの URL
 * @param int $position メニューの位置
 */
SCF::add_options_page( 'ページタイトル', 'メニュータイトル', 'manage_options', 'theme-options' );

上記を追加すると Smart Custom Fields の設定画面に「表示条件(オプションページ)」というメタボックスが追加されますので、そこでカスタムフィールドを設置したいオプションページを選択し保存してください。

オプションページで保存したカスタムフィールドの値を取得するのは下記のコードで行えます。

// カスタムフィールドの値を取得
SCF::get_option_meta( 'メニュースラッグ', 'フィールド名' );

// グループの値を取得
SCF::get_option_meta( 'メニュースラッグ', 'グループ名' );

// そのオプションページの全てのデータを取得
SCF::get_option_meta( 'メニュースラッグ' );

WYSIWYG フィールドにビジュアル・テキストの切り替えタブを追加

これまで WYSIWYG フィールドには「メディアを追加」ボタンはあったのですが「ビジュアル・テキストの切り替えタブ」はありませんでした。これは実装方法がわからなかったためなのですが、改めてコアのコードを読み直し、なんとか動作するようにできました。もし不具合があっても僕にはどうしようもないのでその場合はプルリクくださいw

チェックボックス、ラジオボタン、セレクトボックスの選択肢の設定でキーと値に別々の値を指定できるように変更

キー => 値のように選択肢を入力することで、キーと値に別々の値を指定できるようになりました。

コードでカスタムフィールドを設定する場合は下記のような感じで別々の値を指定できるようになります。

...
$Setting = SCF::add_setting( 'theme-options', 'テーマオプション' );
$Setting->add_group( 'group-animals', false, array(
	array(
		'name'  => 'animals',
		'label' => '動物',
		'type'  => 'check',
		'choices' => array(
			'cat'  => '猫',
			'dog'  => '犬',
			'bird' => '鳥',
		),
		'default' => array(
			'cat', 'dog',
		),
	),
) );
$settings[] = $Setting;
...

MW WP Form

MW WP Form はショートコードベースのフォームプラグインです。多くの機能を持っており、例えば、多くのバリデーションルール、問い合わせデータの保存、そしてグラフ機能集計などを使用することができます。

さらに詳しく
Habakiri

Habakiri

Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。

さらに詳しく
basis-stylus

Basis

軽量なレスポンシブ Stylus/CSS フレームワーク。Flexbox ベースのグリッドシステム、疎結合なコンポーネント、バーティカルリズム。

さらに詳しく