Я работаю над темой WordPress, и я хочу иметь собственный фон заголовка. Раньше я использовал функцию add_theme_support('custom-header);, которую предлагает WordPress, она работает, но не так, как я хочу. Я хочу иметь фоновое изображение вместо img. Я сделал функцию header_background_callout () и добавил раздел, настройки и контроль. функция работает и выводит фоновый URL, который пользователь выбирает через раздел настройки в WordPress. Есть ли способ, что я могу сделать что-то подобное в CSS? : background-image: url(<?php echo wp_get_attachment_url(<?php get_theme_mod()); ?>);

Заранее спасибо.

1
LineCommander Official 1 Сен 2017 в 16:48

4 ответа

Лучший ответ

Да, добрый.
Я сделал мой CSS-файл php-файл, и поэтому я могу делать, как вы говорите

background-image: url(<?php echo get_theme_mod(); ?>); // I suppose you need to echo the mod?

В HTML вы используете это как;

<Link rel="stylesheet" type="text/css" href="style.php">

Отредактируйте, возможно, вам потребуется изменить заголовок php-файла на css-файл:

<?php header("content-type: text/css; charset: UTF-8"); ?>
0
Andreas 1 Сен 2017 в 13:54

Я нашел этот простой способ, и он работает лучше всего:

В вашем файле Index.php добавьте:

<?php 

       function bg_img_alt() {
         if(get_theme_mod('vibe_hero_background_setting') > 0) {
           return wp_get_attachment_url(get_theme_mod('vibe_hero_background_setting'));
         }else{
           return get_template_directory_uri() . '/img/bg.jpeg';
         }
       }
?>

        <style type="text/css">

       background: linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)), url(<?php echo bg_img_alt(); ?>);
       background-repeat: no-repeat;
       background-position: center;
       background-size: cover;
       background-attachment: fixed;
    </style>
0
LineCommander Official 2 Сен 2017 в 21:33

Вы можете добавить встроенные стили в свою тему, используя wp_add_inline_style :

<?php wp_add_inline_style( $handle, $data ); ?>

Где $ data - это CSS, который вы хотите включить в свою тему. Таким образом, вы можете загрузить переменные php в виде CSS для вашего сайта.

1
Łukasz Mazan 2 Сен 2017 в 19:16

Попробуй это. echo "background-image = 'url (' get_theme_mod () ')'";

1
Mr. Laeeq Khan 1 Сен 2017 в 14:43