Я пытаюсь сделать некоторые динамические поля настройщиком WP, используя API настроек WP и jQuery.
По значению радиокнопки я хочу показать одно поле и скрыть другое. Когда выбрано другое радио, я хочу переключить эти поля.
К сожалению, jQuery работает только с предварительным просмотром, заданным настройщиком, а не с панелями с настройками.
Я поставил jQuery в настройщик с хуком customize_preview_init и добавил настройки через settingsapi.
Jquery:
jQuery( document ).ready( function($) {
/* add the value. */
$( "body" ).on( 'change', 'input[type="radio"]', function() {
alert();
});
});
Ставить:
function load_custom_wp_admin_scripts_mytheme() {
wp_enqueue_script( 'customizer-mytheme', get_stylesheet_directory_uri(). '/js/customizer-mytheme.js', array());
}
add_action( 'customize_preview_init', 'load_custom_wp_admin_scripts_mytheme' );
Настройки:
$wp_customize->add_setting( 'call2action-external-bool' );
$wp_customize->add_control( 'call2action-external-bool', array(
'label' => 'Link naar?',
'section' => 'enable_ph_slider',
'type' => 'radio', // text (default), checkbox, radio, select, dropdown-pages
'choices' => array(
'internal-link' => 'Pagina in de website',
'external-link' => 'Externe website',
),
));