Intereting Posts
Как вы можете разрабатывать текущую установку WordPress, использующую W3 Total Cache? HTTPS ведет к Извините, у вас нет доступа к этой странице Список категорий родительской категории текущей категории Добавление классов начальной загрузки в короткие короткие коды Ограничить доступ панели управления для определенных ролей пользователей к определенным действиям Как добавить nofollow на весь сайт Конец выдержки в конце предложения wp_enqueue_scripts не работает Опубликовать на странице для портфолио Преобразование динамического фрагмента кода с использованием WordPress Loop в статичное с использованием идентификатора сообщения Что такое кодировка WordPress? Регистрация кликов на сайте предварительного просмотра DNS Как писать .htaccess динамически? Показывать сообщения в категории / доступ к настраиваемому полю столбца Пользовательский запрос MySQL для вывода расширенных пользовательских полей?

Child Theme – как добавить нового виджета в определенное место?

Я оглядывался, и я немного смутился и до сих пор не смог найти ответ на этот вопрос.

Я создал простой новый детский скин. У моей дочерней кожи всего 2 файла style.css

 /* Theme Name: My theme child colormag Description: My child modification from Colormag theme Author: PalaNolho Template: colormag Version: 1.0.0 */ 

function.php

 <?php /* * Child theme functions file * * Your functions php code starts here just before ?> */ add_action( 'wp_print_styles', 'enqueue_parent_styles' ); //wp_enqueue_scripts function enqueue_parent_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' ); } function my_register_widget() { /* Register the 'primary' sidebar. */ register_sidebar( array( 'id' => 'headerimagewidget', 'name' => __( '(my) Widget over Header Image' ), 'description' => __( 'My widget to be displayed over the header image.' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widget-title">', 'after_title' => '</h3>' ) ); /* Repeat register_sidebar() code for additional sidebars. */ } add_action( 'widgets_init', 'my_register_widget' ); 

Виджет, похоже, правильно настроен, и я могу настроить его в разделе «Виджеты» на сайте администратора, поэтому теперь мне нужно добавить код, чтобы он отображался на странице.

Теперь вот моя проблема … Я знаю, какой код мне нужно добавить. Например, я мог бы добавить следующее:

 <div id="sidebar-headerimagewidget" class="sidebar"> <?php dynamic_sidebar( 'headerimagewidget' ); ?> </div> 

Однако я понятия не имею, где добавить его в дочернюю тему, так как у меня есть только файл functions.php.

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

Нужно ли мне скопировать файл из родительского элемента в дочерний объект, а затем внести необходимые изменения? Есть ли другой способ добавить виджет в код без «прямого» изменения кода родительской темы?

Solutions Collecting From Web of "Child Theme – как добавить нового виджета в определенное место?"

Вы должны скопировать файл, который вы хотите отредактировать, от родителя к вашей дочерней теме. Таким образом вы можете настроить шаблон, не касаясь фактической темы. Вставьте код, который у вас уже есть, в этот файл шаблона, и вам хорошо идти.

Следующая ссылка содержит страницу codex о создании дочерних тем и изменении файлов шаблонов: https://codex.wordpress.org/Child_Themes#Template_Files

Надеюсь это поможет.