Написание хорошего шаблона Wordpress - PullRequest
1 голос
/ 25 января 2010

Меня попросили написать собственный шаблон для сайта на основе WordPress, и я заметил, что темы, как правило, представляют собой один большой нечитаемый беспорядок PHP-кода, смешанного с HTML, с ужасным отступом поверх него - даже по умолчанию шаблон следует этому стилю.

То, что я сейчас делаю, - это сначала поместил весь код PHP, а затем разметку с минимальным PHP только для управляющих структур и переменных - вроде того, что вы сделали бы в системе представления контроллера <->, только в тот же файл.

Какой хороший подход люди используют для написания шаблонов, когда логический код отделен от разметки? Это сайт с умеренно высоким трафиком, поэтому я бы хотел свести к минимуму ненужные накладные расходы.

Ответы [ 2 ]

4 голосов
/ 25 января 2010

Попробуйте использовать Wordpress Theme Framework вместо того, чтобы получить шаблон по умолчанию и адаптировать его.

Я согласен, Wordpress не MVC, но вам не нужно смешивать много логики в ваших шаблонах. Просто используйте Теги шаблонов соответственно, и вы можете получить действительно легкие темы без слишком большого количества кода спагетти .

Когда вы понимаете, что вы смешиваете слишком много логики с представлением в файлах шаблонов, инкапсулируйте свою логику в функцию, переместите ее в functions.php или создайте плагин, который можно вызывать из вашего шаблона и двигаться дальше. 1011 *

Не строго OO или MVC, но это поддерживаемо.

0 голосов
/ 25 января 2010

Это немного сложно сделать без внесения основных изменений в сам Wordpress. В прошлом я использовал класс, который действовал как контроллер, в котором я буду хранить весь свой php-код. Это немного упрощает отделение вашего кода PHP от кода представления. Проблема с этим подходом заключается в том, что любой из сценариев имеет свой собственный класс. Другой вариант (более процедурный) будет иметь фактический файл (I.E. footer.inc.php), который будет включен в начало файла и затем даст вам все ваши переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...