Intereting Posts
get_terms не возвращает никаких пользовательских таксономий WordPress ThickBox модальный в панели администратора продолжает загружать Время ожидания wp_set_object_terms? API настроек – сохранить массив параметров в качестве одного параметра (array_push?) Переопределение петли с фильтром или крюком Добавление атрибута в тег формы post.php в wp-admin Проблема с add_rewrite_rule и разбиением на страницы (paged и page query_vars) Как добавить страницу подменю в пользовательский тип сообщения? Отображение домена WordPress показывает новый домен на месте, но ведет меня к поддомену Лучший способ подсчета посетителей? Показать последнее сообщение на главной странице? wp_mail не отправляется при вложении Создание уникальных почтовых URL для тестирования A / B … Возможно ли это? API-интерфейс Customizer JS: добавление элемента управления «выпадающих страниц» query_posts для дочерних страниц

header_image () с CSS

Простите мое невежество в этом вопросе, так как я только начал вникать в WordPress. Но мне было интересно, есть ли способ использовать header_image() в CSS.

Так, например, my functions.php позволяет мне вставить php-файл в заголовок:

<?php header("Content-type: text/css; charset: UTF-8;"); ?>

Позвольте мне манипулировать моей темой. Теперь я хочу, чтобы изображение моего заголовка редактировалось с помощью настраивателя вместо того, чтобы пользователь мог перемещаться по файлам CSS. Так, например:

 .headerimg { /* Set a specific height */ height: 700px; /* Create the parallax scrolling effect */ background-image: url("<?php header_image()?>"); background-attachment: fixed; background-position: center; background-repeat: no-repeat; background-size: cover; /* Styling */ border-top: 3px solid transparent; border-bottom: 3px solid #0099FF; } 

Это, конечно, не работает и выдает ошибку:

Неустранимая ошибка : Непринятая ошибка: вызов неопределенной функции header_image () в [filepath]

Итак, короче – есть ли способ достичь этого эффекта? Или мне придется полагаться только на использование прямых элементов <img>

Нет, в общем, невозможно использовать PHP в CSS. Но вы можете установить фоновое изображение в php-файле. Подобно..

 <div class="headerimg" style="background-image: url(<?php echo header_image(); ?>)"></div> 

Затем в файле CSS с использованием класса вы можете установить все другие свойства, которые вам нужны, например, высота, ширина, положение фона и т. Д.

Чтобы получить доступ к header_image() функции header_image() , вам придется загружать всю WordPress из файла, который генерирует вашу таблицу стилей.

Лучшим вариантом будет использование статического файла .css, но извлечение динамической части для использования в wp_add_inline_style() . Когда все будет сказано и сделано, это может выглядеть примерно так:

 // Generate inline scripts and styles and attach them to the appropriate script handles. function my_inline_scripts() { // header_image() prints the image - we want it as a string. $image = get_header_image(); // Can be false - it might be better to set a fallback here... if ( ! $image ) { return; } // First param should be the handle of your theme stylesheet. wp_add_inline_style( 'my-theme-style', ".headerimg { background-image: url(\"{$image}\"); }"; } add_action( 'wp_enqueue_scripts', 'my_inline_scripts' );