WordPress — как создавать статические страницы в собственной теме?
Добрый день, уважаемые !
Впервые делаю собственную тему для WordPress
У меня есть html файл с большим количеством разных страниц
Все страницы статические и с оригинальным дизайном(не похожи друг на друга), вплоть до того, что в некоторых различается футер и хедер.
Динамическая же составляющая сайта требуется только для новостей и комментариев
Вопрос в следующем, как создавать статические страницы для темы wordpress?
Разные страницы именовать "page_1.php", "page_2.php" ... ?
Делайте отдельный шаблон и закладывайте туда все что будет едино для всех страниц, потом в админ панели создавайте страницы и присваивайте им созданный шаблон, например custom.php
ogkonstantin: В вашем случае делается так. На какждую уникальную статическую страницу создаем в папке с темой новый шаблон, формируем его и сохраняем. Заходим в админ панель и создаем страницу, там указываем заголовок, содержание медиафайлы и прочее. Можно конечно заголовок прописывать напрямую в шаблоне, но это плохая практика.
Чтобы прикрепить шаблон к странице, в админ панели открываем вкладку Страницы и в списке выбираем нужную, переходим по ссылке свойства и там будут подгруженные шаблоны, выбираем нужный и сохраняем.
SteelMonk: А если в папку с wordpress поместить еще папку с html, css, js файлами
А в меню wordpress делать ссылки на них
Получается, что wordpress будет только на динамический блог, а все остальное будет простым файлом
ogkonstantin: потому. Не пытайтесь скрестить носорога с бегемотом. Вам не нужны "статические-статические" страницы (html), вам нужны кастомные темплейты для страниц (pages), которые такие же динамические, как и посты / новости, но это именно СТРАНИЦЫ.
ogkonstantin: Делаете несколько хедеров и футеров, называете их header-smth.php, footer-smth.php и так далее, подключаете get_header( 'smth' ), get_footer( 'smth' ), вот и все. Для подключения разных js/css файлов используете wp_enqueue_script/wp_enqueue_style в functions.php внутри conditional statements - if( is_page( 'page-slug' ) ) { ... } - тогда скрипты эти будут грузиться только на определенных страницах.