Папка пользовательских шаблонов

1 нояб. 2013 г., 10:29:24
Просмотры: 29.9K
Голосов: 8

Я создал пользовательскую папку ("/templates") и поместил все файлы шаблонов в эту папку вместо корневой директории ("/wp-content/themes/my-theme/"). Всё работает нормально.

Нужно ли мне добавлять какую-то функцию для указания папки "/templates/" как моей папки шаблонов? Обычно их размещают в корневой директории, верно?

Сейчас всё работает нормально, но я просто хочу знать, нужно ли что-то еще сделать. Я не могу найти информацию об этом в документации WordPress. Я только что установил WPML, и теперь все страницы шаблонов выдают ошибку 404. Интересно, может ли это (пользовательское расположение папки шаблонов) вызывать эти 404 ошибки. Страницы WooCommerce отображаются нормально, так как WC не находится в моей папке шаблонов, он генерируется плагином.

-------- Дополнительно

Я создал шаблон www/wp-content/themes/my-theme/tpl-home.php

Я назвал этот файл как шаблон страницы.

<?php
/*
Template Name: Home
*/
get_header(); ?>

И я переместил файлы шаблонов в www/wp-content/themes/my-theme/templates/tpl-home.php

Это всё ещё работает хорошо. Я видел, что многие темы делают так же.

Нужно ли мне настраивать какую-то функцию для указания папки?

4
Комментарии

что ты имеешь в виду под корнем? корнем чего? themes=>your-theme корень твоей текущей активной темы?

Rahil Wazir Rahil Wazir
1 нояб. 2013 г. 10:52:31

Спасибо, ребята. Я добавил больше информации. Дайте знать, если нужно что-то еще. Под корнем я имею в виду корень темы.. то есть /wp-content/themes/my-theme/

pulla pulla
1 нояб. 2013 г. 11:01:55

Ты имеешь в виду файлы шаблонов из иерархии шаблонов WordPress или пользовательские шаблоны страниц?

Chip Bennett Chip Bennett
1 нояб. 2013 г. 14:53:30

Извините, почему? Что это дает, чего не могут основные функции и методы ядра?

s_ha_dum s_ha_dum
1 нояб. 2013 г. 16:55:07
Все ответы на вопрос 2
0
11

Начиная с WordPress 3.4 вы можете размещать шаблоны страниц в любом подкаталоге первого уровня, но, судя по всему, нельзя размещать их в подкаталогах второго уровня — хотя я лично это не тестировал.

Я рекомендую хранить шаблоны в папке /page-templates/, так как WordPress, по-видимому, распознаёт её. Из документации WordPress о шаблонах страниц:

WordPress распознаёт подкаталог page-templates. Поэтому имеет смысл хранить ваши глобальные шаблоны страниц в этой папке, чтобы поддерживать их организованность.

20 янв. 2016 г. 19:06:08
2

Вы можете размещать свои шаблоны в активной теме где угодно, но вам нужно подключить ваши файлы в functions.php.

Вы можете создать папку с названием page-templates внутри вашей текущей темы.

/wp-content/themes/my-theme/page-templates

и добавлять свои пользовательские шаблоны туда.

Подключите файлы в functions.php

if ( is_page_template( 'page-templates/my-template.php' ) ) {
    include_once 'page-templates/my-template.php';
}

Это должно работать.

1 нояб. 2013 г. 14:16:56
Комментарии

У меня вообще не работает

Tintinabulator Zea Tintinabulator Zea
21 дек. 2018 г. 01:20:39

Отлично. У меня всё работает.

Ariful Islam Ariful Islam
6 окт. 2020 г. 20:51:35