wp_customize и выбор макета

Поэтому я пытаюсь построить условный оператор для отображения разных макетов в зависимости от выбранной опции.

Немного неприятностей.

$wp_customize->add_setting('layout', array(
'default'           => 'stream',
)); // add our default setting.
$wp_customize->add_control('layout', array(
'label'      => __('Select layout', 'Ari'),
'section'    => 'layout',
'settings'   => 'layout',
'type'       => 'radio',
'choices'    => array(
'stream'   => 'Stream',
'grid'  => 'Grid',
),
)); // use radio buttons with (so far) two choices.
$wp_customize->add_section('layout' , array(
'title' => __('Layout','Ari'),
)); // add our layout section in the customize panel.

Отображение нашего макета.

    <?php if ( get_theme_mod( 'stream' ) ) : ?>
<p>stream</p> if ( have_posts() ) etc
<?php elseif ( get_theme_mod( 'grid' ) ) : ?>
<p>grid</p> // if ( have_posts() )  etc
<?php else : //Nothing ?>
<?php endif; ?>

Совсем ничего. Я просмотрел кодекс и не вижу, что делаю не так. Это просто не показывает никакого выхода.

@Stewartside указывает, что я должен использовать get_setting, но я не могу заставить это работать. Кто-нибудь?

0

Решение

get_theme_mod() возвращает строку, а не логическое значение. Поэтому ваш if заявления всегда потерпят неудачу, поскольку они ожидают либо 1 или же true или же 0 или же false,

Вы должны посмотреть на использование get_setting в пределах $wp_customize функциональность.

Документация

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector