Использование Wordpress Theme Mod лучше - PullRequest
0 голосов
/ 27 октября 2018

Я добавляю несколько пользовательских элементов управления в Wordpress Customizer и использую эти элементы управления для стилизации слайдера. Мне было интересно, есть ли лучший способ реализовать это, чем, как я уже сделал. Я не очень понимаю утверждения if здесь, но я знаю, что это работает. Любая помощь очень ценится!

function apache_c_slider_css() {

    ?>
    <style type='text/css'>
    <?php

    $slider_height = get_theme_mod( 'slider_height', '500' );
    if ( ! empty( $slider_height ) ) {
        ?>
        #slider,
        .slides,
        .slide {
            height: <?php echo $slider_height; ?>px;
        }
        <?php
    }

    $slider_max_height = get_theme_mod( 'slider_max_height', '100' );
    if ( ! empty( $slider_max_height ) ) {
        ?>
        #slider,
        .slides,
        .slide {
            max-height: <?php echo $slider_max_height; ?>vh;
        }
        <?php
    }

    ?>
    </style>
    <?php
}

1 Ответ

0 голосов
/ 28 октября 2018

По правде говоря, вам даже не нужен оператор if, потому что вы передаете значение по умолчанию get_theme_mod(), поэтому оно никогда не должно быть пустым. Вообще говоря, если у вас нет значения по умолчанию или даже есть вероятность пустого значения, вы захотите проверить это условие - но вам не нужно здесь. Если вы хотите , вы можете объединить их в один оператор if следующим образом:

if ( !empty( $slider_height ) || !empty( $slider_max_height ) ){
    // Code
}

Каналы || указывают Логический оператор PHP "ИЛИ" , поэтому, если он не пустой, он продолжится. Тем не менее, это, вероятно, как я бы изменить ваш текущий код:

function apache_c_slider_css(){
    $slider_height     = get_theme_mod( 'slider_height', '500' );
    $slider_max_height = get_theme_mod( 'slider_max_height', '100' );

    echo '<style type=\'text/css\'>
        #slider,
        .slides,
        .slide {
            height: '. $slider_height .'px;
            max-height: '. $slider_max_height .'vh;
        }
    </style>';
}

Объявления будут возвращать установленный мод темы или 500 пикселей и 100 высота области просмотра по умолчанию.

И, наконец, вы можете вывести все сразу.

С учетом вышесказанного «вставка» скриптов и стилей, как правило, не лучший способ добавления CSS и JS в WordPress, особенно если вы работаете над темой. Этот вид CSS является примером кода из учебника, который должен быть добавлен с помощью функции wp_add_inline_style() для расширения основных стилей вашей темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...