- 投稿日:2023年03月30日 11時04分02秒
- 更新日:2023年03月30日 11時04分04秒

トピックリンクのカスタマイザー
最初に
WordPressのカスタマイザー設定コードメモ
カスタム設定追加コード
function theme_customizer_topickInfo($wp_customize) {
//セクション
$wp_customize->add_section( 'topick', array (
'title' => 'トピック',
'priority' => 120,
'description' => 'お知らせの右横(または下)にリンク付きの画像を設定します。<br>
リンク無しも可能です。',
));
for($idx = 1; $idx <= 2; $idx++){
$idx_char = str_pad( $idx , 2, 0, STR_PAD_LEFT);
$settingName = 'topick' . $idx_char . "_img";
//画像について
$wp_customize->add_setting( $settingName , array (
$settingName => 'null',
));
$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, $settingName , array(
'section' => 'topick',
'settings' => $settingName,
'label' =>'画像' . $idx_char,
'priority' => 60,
)));
// 表示位置
/*
$ary_position = array("top", "bottom", "left", "right");
foreach($ary_position as $key => $value){
$settingName = 'topick' . $idx_char . "_" . $value ;
$keyName = '画像' . $idx_char . "位置:" . $value . "(px)";
$wp_customize->add_setting( $settingName , array (
$settingName => 'null',
));
$wp_customize->add_control( $settingName, array(
'section' => 'topick',
'settings' => $settingName,
'label' => $keyName,
'type' => 'number',
'priority' => 60,
));
}
*/
// リンクについて
$settingName = 'topick' . $idx_char . "_link";
$wp_customize->add_setting( $settingName , array (
$settingName => 'null',
));
$wp_customize->add_control( $settingName, array(
'section' => 'topick',
'settings' => $settingName,
'label' =>'リンク' . $idx_char,
'type' => 'url',
'priority' => 60,
));
// ホバー時のテキスト
$settingName = 'topick' . $idx_char . "_text";
$wp_customize->add_setting( $settingName , array (
$settingName => 'null',
));
$wp_customize->add_control( $settingName, array(
'section' => 'topick',
'settings' => $settingName,
'label' =>'ホバーテキスト' . $idx_char,
'type' => 'text',
'priority' => 60,
));
}
}
add_action('customize_register', 'theme_customizer_topickInfo');
説明
最後のadd_actionを忘れずに
カスタム設定値取得関数
function get_the_topickInfo(){
$ary_result = array();
$ary_position = array("img", "top", "bottom", "left", "right", "link", "text");
for($idx = 1; $idx <= 2; $idx++){
$idx_char = str_pad( $idx , 2, 0, STR_PAD_LEFT);
$keyVal = 'topick' . $idx_char . "_";
foreach($ary_position as $key => $value){
$settingName = $keyVal . $value;
$idx_val = get_theme_mod( $settingName );
if($idx_val == ""){
continue;
}elseif($idx_val == null){
continue;
}
$ary_result[$idx][$value] = $idx_val;
}
}
return $ary_result;
}