WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Получай пассивный доход от сайта с помощью браузерных PUSH уведомлений

Не обновляются данные

Решил кастомизировать настройки:

Описал секцию:

$wp_customize->add_setting( 'test_show_phone' , array(
	'default'   => true,
	'transport' => 'postMessage',
) );

$wp_customize->add_control(
	'test_show_phone',
	array(
		'label' => 'Показывать телефон',
		'section' => 'test_site_data',
		'type' => 'checkbox',
	)
);

Функция подключения js:

function test_customize_js(){
		wp_enqueue_script('test_customizer', get_template_directory_uri() .'/assets/js/test-customize.js', array( 'test-jquery','customize-preview'), null, true);
	}
add_action('customize_preview_init', 'test_customize_js');

Сам js файл:

(function( $ ) {

	//Update site link color in real time...
	wp.customize( 'test_link_color', function( value ) {
		value.bind( function( newVal ) {
			//Do stuff (newval variable contains your "new" setting data)
			$('a').css('color', newVal );
		} );
	} );

	//Update site link color in real time...
	wp.customize( 'test_phone', function( value ) {
		value.bind( function( newVal ) {
			//Do stuff (newval variable contains your "new" setting data)
			$('.test-phone span').text( newVal );
		} );
	} );

	//Update site link color in real time...
	wp.customize( 'test_show_phone', function( value ) {
		value.bind( function( newVal ) {
			//Do stuff (newval variable contains your "new" setting data)
		   false === newVal ? $('.test-phone').fadeOut() : $('.test-phone').fadeIn() ;
		} );
	} );

}) (jQuery);

Вызов функции в header.php:

<div class="collapse navbar-collapse" id="navbarSupportedContent">

	  <?php wp_nav_menu(array(
		'theme_location'  => 'header_menu',
		'container'       => '',
		'container_id'    => 'navbarSupportedContent',
		'menu_class'    => 'navbar-nav mr-auto',
		'walker'        => new Test_Walker_Nav_Menu,
	  )); ?>
		<p class="test-phone" <?php 
								if (false === get_theme_mod('test_show_phone')){
								  echo 'style="display: none;"';
								} else {
								  echo 'style="display: block;"';
								}  
							  ?>>
		  Телефон: <span><?php echo get_theme_mod('test_phone');?></span>
		</p>
	  </div>

При клике на чекбокс номер телефона должен появляться, при повторном клике исчезать. Но вместо этого в консоли появляется сообщение: "Свойство MouseEvent.mozPressure является устаревшим. Для его замены используйте PointerEvent.pressure.". При этом изменения сохраняются при перезагрузке страницы, а "вживую" не работает

0
Антон
3 месяца назад

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация