@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);
        });
    });


когда в кастомайзере меняю значение инпута меняется и тайтл тоже, но после перезагрузки страницы все возвращается, как это всё дело сохранять?
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 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>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 09:32
25000 руб./за проект
24 апр. 2024, в 09:27
13000 руб./за проект
24 апр. 2024, в 09:20
10000 руб./за проект