Intereting Posts
Почему get_term () требует таксономии? Являются ли term_ids уникальными? Является ли wp_reset_postdata () избыточным после основного цикла? Добавление фильтра к связанным сообщениям, не работающим WP 3.3 Как добавить элементы меню в панель администратора? Перенаправление одного мультисайта в другой Случайный элемент в массиве get_post_meta Как создать персонализированный тип сообщения, получить шаблон пользовательского сообщения в плагине Отображать только мои собственные файлы / изображения в медиа-библиотеке Выпускное меню темы «Семнадцать семнадцать» Новые пользователи должны комментировать при запросе имени пользователя Как удалить версию WordPress из источника браузера? Внешняя страница, встроенная в WordPress, возвращает ошибку 404 получить значение dynamic_sidebar () в массиве в wordpress Ускорение SQL-запросов для большой базы данных? как получить деталь события события плагина eventpress при помощи php?

Где разместить пользовательские PHP-файлы в дочерней теме?

Я настраиваю премиум-WP тему, чтобы лучше подойти к моему сайту, но я не могу понять, что делать с файлами PHP, которые я настраиваю. Они просто входят в корень папки дочерних тем? Или они попадают в аналогичную иерархию папок, как в исходной теме? Как я могу убедиться, что используется PHP-файл дочерней темы вместо исходного PHP-файла темы (например, header.php)?

Solutions Collecting From Web of "Где разместить пользовательские PHP-файлы в дочерней теме?"

Несколько вещей, чтобы добавить

  1. Если вы добавляете файлы шаблонов в дочернюю тему. Они заменят файлы шаблонов родительских тем.
  2. CSS не импортируется автоматически, поэтому вам нужно импортировать их в свой файл css для дочерней темы с помощью @import , он может выглядеть примерно так: @import url("../twentyeleven/style.css");
  3. Файл functions.php не получает замену, поэтому все функции от родительской темы все еще определены, и вы можете добавить свои новые php-функции в дочерние темы functions.php файл.
  4. Если вы скопируете и вставьте файл php из родительской темы в дочернюю тему для изменения, и вы увидите что-то вроде require_once(TEMPLATEPATH.'/includes/a_php_file.php'); Помните, что константа TEMPLATEPATH прежнему указывает на родительский каталог темы. Если вам нужно изменить файл a_php_file.php тогда скопируйте этот файл в свою a_php_file.php тему и используйте путь к стилям тем, чтобы попасть в дочернюю тему. Поэтому вам нужно сделать что-то вроде этого include( get_stylesheet_directory() . '/includes/a_php_file.php');

Итак, как я могу использовать файл темы Sure Child: Ну, если вы делаете все правильные шаблоны дочерних тем, которые уже привыкают. Но если вы хотите проверить, вы можете просто добавить html-комментарий к файлу шаблона и проверить источник. Я делаю это иногда, когда что-то не работает для меня, и я добавляю имя файла php в комментарий html, поэтому я знаю, какой файл включает / требует откуда.

Кодекс:

http://codex.wordpress.org/Function_Reference/get_stylesheet_directory

Чтобы отвечать на ваши вопросы в определенном порядке:

Любые файлы шаблонов, которые вы включаете в дочернюю тему, будут использоваться вместо одноименной родительской версии автоматически. (Это не относится к style.css или functions.php, но header.php и т. Д. Все покрыты.)

WP будет использовать иерархию шаблонов, чтобы выяснить, какие шаблоны необходимы на основе соответствующего запроса – если тема хорошо построена, вы должны быть корректно помещены в корневой каталог вашей папки, не реплицируя исходную структуру каталогов.

НО, если родительская тема была закодирована нестандартными способами, и, в частности, если она пытается включить файлы напрямую, а не использовать функции wp (например, get_header (), get_footer (), get_template_part () и т. Д.), Вам может потребоваться руки ваши немного грязнее. Хорошие темы премиум-класса часто содержат документацию о том, как создавать детские темы для своих систем, особенно если они сильно зависят от не-wp-крючков, чтобы все было сделано … но, конечно, вы можете не знать, пока не начнете играть, как документация находится на вашем. Удачи!