WordPressのカスタマイズページにオリジナルの欄を作る方法

こんにちは、茨城県水戸市でWordpressのカスタマイズをするならでお馴染みのレターズです。

今日はWordpressのカスタマイズページにオリジナルの欄を作る方法をご紹介します。

01 functions.phpへ追記

class mytheme_Customizer
{
public static function register($wp_customize)
{
self::register_common_site_text($wp_customize);
self::register_top_page($wp_customize);
self::register_about_page($wp_customize);
self::register_service_page($wp_customize);
}

private static function register_common_site_text($wp_customize)
{
$wp_customize->add_section('my_custom_section', array(
'title' => __('サイト共通文章', 'mytheme'),
'priority' => 30,
));

self::add_setting_and_control($wp_customize, 'footer_phone_number', 'text', 'my_custom_section', __('フッター電話番号', 'mytheme'), 'sanitize_text_field', array(
'pattern' => '[0-9\-]*',
'title' => __('Please enter a valid phone number', 'mytheme'),
));

self::add_setting_and_control($wp_customize, 'footer_address', 'textarea', 'my_custom_section', __('フッター住所', 'mytheme'), 'sanitize_textarea_field');
self::add_setting_and_control($wp_customize, 'footer_open_hours', 'textarea', 'my_custom_section', __('営業時間', 'mytheme'), 'sanitize_textarea_field');
self::add_setting_and_control($wp_customize, 'footer_days_off', 'textarea', 'my_custom_section', __('定休日', 'mytheme'), 'sanitize_textarea_field');
self::add_setting_and_control($wp_customize, 'footer_txt', 'textarea', 'my_custom_section', __('フッターテキスト', 'mytheme'), 'sanitize_textarea_field');
}

// 子メニューを追加する場合
private static function register_service_page($wp_customize)
{
$wp_customize->add_panel('service_page_panel', array(
'title' => __('取扱機器ページ', 'mytheme'),
'priority' => 34,
));

$wp_customize->add_section('service_page_child_section', array(
'title' => __('一覧ページ', 'mytheme'),
'priority' => 35,
'panel' => 'service_page_panel',
));

self::add_setting_and_control($wp_customize, 'service_page_child_section_tag', 'text', 'service_page_child_section', __('タグ', 'mytheme'), 'sanitize_text_field');
self::add_setting_and_control($wp_customize, 'service_page_child_section_product_name', 'text', 'service_page_child_section', __('', 'mytheme'), 'sanitize_text_field');
self::add_setting_and_control($wp_customize, 'service_page_child_section_product_name_ja', 'text', 'service_page_child_section', __('日本語', 'mytheme'), 'sanitize_text_field');
self::add_setting_and_control($wp_customize, 'service_page_child_section_ttl', 'text', 'service_page_child_section', __('タイトル', 'mytheme'), 'sanitize_text_field');
self::add_setting_and_control($wp_customize, 'service_page_child_section_description', 'textarea', 'service_page_child_section', __('説明', 'mytheme'), 'sanitize_textarea_field', array(
'class' => 'c_border',
));
}
}

add_action('customize_register', array('mytheme_Customizer', 'register'));

02 表示側の記述方法

例えばslugがfooter_addressの値を表示する場合。

$value = get_theme_mod("footer_address", "");
	if ($value) {
		echo nl2br(esc_html($value));
	}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です