Задать вопрос
@WoopsWoops

Как сохранить значение с кастомайзера?

Есть такой код в customizer.php
$wp_customize->add_section('test', array(
        'title'         => 'Test',
        'priority'      => 30
    ));

    $wp_customize->add_setting('test_setting', array(
        'transport'     => 'refresh'
    ));

    $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'test_setting', array(
        'label'         => __('Test'),
        'section'       => 'test',
        'settings'      => 'test_setting'
    )));

    $wp_customize->get_setting('test_setting')->transport = 'postMessage';

и такой js
wp.customize('test_setting', function(value) {
        value.bind( function(newVal) {
            $('.title').text(newVal);
        });
    });


когда в кастомайзере меняю значение инпута меняется и тайтл тоже, но после перезагрузки страницы все возвращается, как это всё дело сохранять?
  • Вопрос задан
  • 213 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Вместо js попробуйте add_partial и в шаблоне нужно будет вывести get_theme_mod('test_setting').

Недавно приводил пример кода в другом ответе. Думаю, должно помочь.
Ответ написан
Комментировать
MedVedar
@MedVedar
e-commerce developer
Попробуйте в add_setting добавить type:
$wp_customize->add_setting('test_setting', array(
        'transport'     => 'refresh',
        'type' => 'theme_mod'
    ));

Дальше можно будет получать это значение:
$header_bg_color = get_theme_mod('test_setting');
И использовать:
<style type="text/css">
    .entry-header-wrap {
         background-color: <?php echo esc_attr( $header_bg_color );?>;
      }
</style>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 10:02
7000 руб./за проект
18 дек. 2024, в 09:56
8000 руб./за проект
18 дек. 2024, в 04:59
1000 руб./в час