Intereting Posts
Постоянная ссылка Пользовательская структура и базовый номер категории Как сделать меню боковой панели администратора всегда сворачиваться по коду Связь ACF в URL-адресе Можно временно отключить автозапуск? специальные символы, не поддерживающие wordpress Поиск крюка, который срабатывает при удалении сообщения, чтобы получить все комментарии echo site_url () возвращает другое значение, чем то, что находится в поле siteurl базы данных Более чистый способ определения нескольких переменных для is_page_template () Как получить доступ к папкам плагинов Большинство просмотров темы за последние 24 часа проблема с настройкой постоянной ссылки программно Breadcrumbs перестают работать с определенным файлом шаблона как улучшить загрузку главной страницы сайта При использовании WordPress Multisite можно отображать данные на главный сайт из дочерних сайтов? изменить rss feed url structure

Можно ли прикрепить фоновое изображение к div вместо тела?

В настоящее время добавление пользовательского фонового изображения через WordPress будет прикреплено к <body> . Есть ли крючок, чтобы сообщить WordPress, чтобы прикрепить фоновое изображение к другому элементу?

Вместо создания WordPress:

 body.custom-background { background-color: #ffffff; background-image: url('background.jpg'); background-repeat: no-repeat; background-position: top center; background-attachment: scroll; } 

Я хотел бы настроить WordPress таким образом, чтобы я мог прикрепить этот пользовательский фон к другому элементу, а не к телу.

По умолчанию WordPress использует _custom_background_cb() для создания стиля, который вы показываете в своем вопросе. Вы можете использовать свою собственную функцию, добавив ее в add_theme_support() в своей теме.

 add_theme_support( 'custom-background', array( 'wp-head-callback' => 'wpse_113346_custom_background_cb' ) ); 

Первоначально вы можете использовать кишки функции _custom_background_cb() для своей собственной функции:

 /** * My custom background callback. */ function wpse_113346_custom_background_cb() { // $background is the saved custom image, or the default image. $background = set_url_scheme( get_background_image() ); // $color is the saved custom color. // A default has to be specified in style.css. It will not be printed here. $color = get_theme_mod( 'background_color' ); if ( ! $background && ! $color ) return; $style = $color ? "background-color: #$color;" : ''; if ( $background ) { $image = " background-image: url('$background');"; $repeat = get_theme_mod( 'background_repeat', 'repeat' ); if ( ! in_array( $repeat, array( 'no-repeat', 'repeat-x', 'repeat-y', 'repeat' ) ) ) $repeat = 'repeat'; $repeat = " background-repeat: $repeat;"; $position = get_theme_mod( 'background_position_x', 'left' ); if ( ! in_array( $position, array( 'center', 'right', 'left' ) ) ) $position = 'left'; $position = " background-position: top $position;"; $attachment = get_theme_mod( 'background_attachment', 'scroll' ); if ( ! in_array( $attachment, array( 'fixed', 'scroll' ) ) ) $attachment = 'scroll'; $attachment = " background-attachment: $attachment;"; $style .= $image . $repeat . $position . $attachment; } ?> <style type="text/css" id="custom-background-css"> body.custom-background { <?php echo trim( $style ); ?> } </style> <?php } 

На этом этапе вы должны проверить его, чтобы убедиться, что он работает нормально. После тестирования вы можете начать вносить изменения в wpse_113346_custom_background_cb() чтобы настроить вывод по своему вкусу.