Intereting Posts
Загрузите страницу шаблона на основе части slug в wordpress Как добавить страницы в WordPress с помощью кодов? Сбой сайта из-за медленных запросов Каков наилучший способ обработки загрузки изображения Ajax на лицевой стороне? Проблемы с подключением плагинов / папок с Azure связанные с бизнесом и продуктами с пользовательской таксономией? WordPress mod_rewrite отменяет / перезаписывает мое другое правило mod_rewrite Как я могу отобразить пользовательское меню на боковой панели? Позволяет ли я лицензировать мою тему WordPress под aGPL Каков правильный способ переноса содержимого из одного WP в WP многоузловой сделать код, если текущий url = значение Внедрение внешнего API в WordPress Каков наилучший способ реализации пользовательских виджетов для каждой должности? Проблема с французским сайтом Почему панель инструментов не будет видна в интерфейсе, но видна в администраторе?

Где разместить файлы шаблонов?

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

Включение шаблонов: когда я создаю файл front-page.php и хочу включить файл header.php , лучше всего иметь:

  1. front-page.php в front-page.php /theme/ directory и header.php в /theme/core/ , а затем используя <?php include 'core/header.php; ?> <?php include 'core/header.php; ?> включить его

Или

  1. front-page.php и header.php в том же каталоге /theme/ а затем с помощью <?php get_header(); ?> <?php get_header(); ?> включить его

То же самое для get_footer , get_sidebar и т. Д.

Использование include делает невозможным создание дочерней темы этого файла. Вы также обнаружите, что некоторые вещи, зависящие от глобальных переменных, не будут работать. Это связано с тем, что функция, которая загружает шаблоны, также глобализует кучу переменных. Вы также не будете запускать действия, связанные с get_header , get_footer и get_sidebar , от которых может get_sidebar какой-то плагин. Всегда используя API, когда это возможно, максимально повысите совместимость вашей темы с остальной частью экосистемы WP.

Что определяет, какие файлы будут «ядром», а какие файлы не будут? Боковая панель и шаблон передней страницы звучат как «ядро» для меня. Если не существует какой-либо структуры, я не вижу, почему большинство файлов шаблонов не было в корне. Вы могли бы, если бы захотели разделить такие вещи, как Шаблоны страниц или Шаблоны в папках.

WordPress использует свои темы «Двадцать 20xx» в качестве примера «хорошего развития», поэтому для большинства вещей вы можете использовать это как основу для лучших практик. Он предлагает следующее:

 assets (dir) - css (dir) - images (dir) - js (dir) inc (dir) template-parts (dir) - footer (dir) - header (dir) - navigation (dir) - page (dir) - post (dir) 404.php archive.php comments.php footer.php front-page.php functions.php header.php index.php page.php README.txt rtl.css screenshot.png search.php searchform.php sidebar.php single.php style.css 

Сказав это, если вы обнаружите, что в вашей теме легче организовать что-то, тогда я говорю, ища для этого, ничего действительно не установлено в камне.

Если WordPress имеет определенную функцию для выполнения чего-либо (т. Е. Get_header ()), используйте эту функцию, когда это возможно, а не прямой PHP. Обычно для этих функций WP есть причина.