Мне нужно создать плагин, который делает пользовательские шаблоны страниц доступными в wp-admin. Мне интересно, если кто-то уже занимался этим, как это кажется довольно типичным процессом?
plugins
templates
page-template
jnthnclrk
источник
источник
Ответы:
Как ответил Rarst, вы действительно можете сделать это без редактирования основных файлов или удаления метабокса атрибутов страницы и создать свой код, используя тот же код с небольшой модификацией. приведенный ниже код является кодом для /admin/include/meta-boxes.php, и я добавил комментарий, чтобы показать, куда пойдут ваши дополнительные параметры шаблона страницы:
Не знаю, является ли это исправлением в вашем случае, но у меня был случай с улыбкой, когда мне нужно было отобразить тип поста во встроенной теме плагина и для этого я использовал,
add_filter('the_content', 'my-function');
и my-function создала вывод для отображения.Другой вариант - заставить ваш плагин создать файл шаблона в каталоге текущей темы, примерно так:
и вы можете запустить это после первой проверки, если файл существует
Надеюсь, что это поможет.
источник
Я не совсем уверен, что понимаю, чего вы пытаетесь достичь, по крайней мере, почему вы хотите, чтобы плагин делал это.
Обычная процедура для создания различных шаблонов страниц:
Создайте новый шаблон страницы в директории вашей темы ACTIVE (сделайте копию page.php).
Измените название шаблона (внутри файла).
/ * Имя шаблона: Страница полной ширины * /
Измените код страницы на то, что вы пытаетесь достичь.
Теперь вы можете создать новую страницу и выбрать «Шаблон» для использования.
...
Я надеюсь, что это то, что вы пытаетесь достичь?
Официальная документация здесь: http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
источник
Это, кажется, довольно сложно достичь.
get_page_templates()
Функция активно отбрасывает все, что не находится в родительских и дочерних корневых каталогах. Он также не хранится в глобальной переменной и не позволяет фильтровать сгенерированный список шаблонов.Я думаю, что мета-поле атрибутов страницы нужно будет разветвить и полностью заменить для этого. И не уверен, что это будет возможно даже тогда.
Я согласен, что это похоже на то, что имеет смысл, но код WordPress очень точен в том, что он хочет, чтобы именованные шаблоны приходили только из каталога темы.
источник
Разве это не одна из причин, которые
register_theme_directory()
были введены?http://core.trac.wordpress.org/ticket/10467
В то время это была проблема, связанная с BuddyPress, который хотел добавить дополнительные шаблоны здесь и там.
Я полагаю, что они не перечислены в качестве шаблонов страниц, хотя:
http://core.trac.wordpress.org/ticket/15803
источник