Статьи

Каковы стандарты кодирования WordPress PHP?

Каковы стандарты кодирования WordPress PHP? В этом видео из моего курса « Изучение PHP для WordPress» вы узнаете все о стандартах кодирования и их важности.

Вы можете найти полные стандарты кодирования WordPress PHP в официальном руководстве WordPress .

WordPress PHP стандарты кодирования

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

Как видите, существуют стандарты не только для PHP, но и для доступности, и для других языков, которые вы бы использовали в WordPress.

Почему важно, чтобы мы все придерживались этих стандартов?

Ну, есть две причины. Один из них касается качества кода, а другой — последовательности.

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

Второе, что касается последовательности, одинаково важно. Весьма вероятно, что вы будете время от времени работать с чужим кодом. Например, если вы создаете дочернюю тему, вам, возможно, придется скопировать часть кода из родительской темы. И если вы создаете плагин, этот плагин может быть веткой существующего стороннего плагина, который вы копируете и добавляете дополнительную функциональность. Очень важно, чтобы ваш код соответствовал тому, как все остальные, кто кодирует PHP для WordPress, пишут код сами.

Итак, давайте посмотрим на некоторые стандарты кодирования PHP. И я собираюсь показать вам примеры этого в некоторых файлах в моей теме.

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

  1. функции в вашей теме или плагине
  2. файлы и способ, которым вы называете эти
  3. любые классы, которые вы пишете
  4. любые переменные, которые вы создаете

Итак, начнем с функций. Вот файл functions.php в моей теме в качестве примера.

файл functionsphp в моей теме

Вы можете видеть, что у меня есть определенная rachelmcc_register_widgets функция, которая называется rachelmcc_register_widgets . Это все написано в нижнем регистре, и я использую подчеркивание между словами, так вы всегда должны писать функцию в WordPress.

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

Поэтому вместо этого я использую уникальную функцию, которая имеет отношение к моей теме. Моя тема называется rachelmccollin , поэтому мои функции имеют rachelmcc в качестве префикса. Также важно использовать подчеркивание для своих функций, а не дефисы.

Вы используете дефисы в двух местах. Во-первых, вы используете дефисы при определении классов CSS. Итак, вы можете видеть, что в моих виджетах я определяю классы CSS для моего элемента h3 а также для id этой области виджета. И здесь вы используете дефисы.

Другое место, где вы используете дефисы — это имена файлов. Так что это front-page.php.

файл front-pagephp

Вы всегда должны использовать дефисы в именах файлов в своих темах и плагинах; не используйте подчеркивания. Так что здесь есть вызов с использованием locate_template . И loop-frontpage.php — это файл, шаблонная часть, которую я вызываю, и вы можете видеть, что в ней есть дефис, а не подчеркивание.

С другой стороны, мой идентификатор типа записи, который является зарегистрированным пользователем типом записи, использует подчеркивание: rmcc_blurb .

Теперь вам также может понадобиться подумать о переменных в вашей теме. Давайте посмотрим на loop-frontpage.php:

файл loop-frontpagephp

В этом конкретном файле, который я вызывал из предыдущего файла, я определил некоторые переменные, одну с именем count и одну с названием title . И вы можете видеть, что я использую строчные буквы для обоих.

Другое место, где вам нужно подумать о подчеркивании и использовании заглавных букв, это когда вы используете класс. Давайте вернемся к front-page.php:

файл front-pagephp

И вы можете видеть здесь, я использую класс WP_Query . Таким образом, у класса есть заглавная буква после подчеркивания, а также в начале. Вот где вы используете заглавные буквы, когда определяете класс. Это помогает людям, работающим с вашим кодом, мгновенно определить, что это класс, а не функция.

Теперь давайте посмотрим, как вы будете использовать одинарные и двойные кавычки в PHP для WordPress.

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

Причина, по которой двойные кавычки иногда могут быть более полезными, заключается в том, что они облегчают работу со специальными символами. Вот пример:

как использовать одинарные и двойные кавычки в WordPress

Скажем, вы писали файл шаблона поиска search.php. И внутри этого, если ничего не было найдено, вы бы поставили абзац, который гласит: «Извините, ваш поиск ничего не нашел. Почему бы вам не попробовать еще раз?»

Я поместил это в двойные кавычки, потому что текст содержит апострофы. Позвольте мне показать вам, как это будет работать, если мы сделаем это в одинарных кавычках.

Пример одинарных и двойных кавычек

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

Еще одна вещь, которую вы должны помнить, это то, что, если вам нужно поместить кавычки в кавычки, вы либо помещаете одинарные кавычки в двойные, либо наоборот. Не имеет значения, каким образом, но вы не можете поместить одинарные кавычки в одинарные или двойные в двойные.

Итак, вот пример, возвращающийся к моему файлу functions.php.

Пример одинарных и двойных кавычек в PHP

Здесь у меня есть одинарные кавычки для значения before_widget , а затем, внутри, у меня есть двойные кавычки для идентификатора и класса этого. Я не мог использовать здесь двойные кавычки, а затем помещать в них двойные кавычки, поэтому я использую там одинарные кавычки, потому что лучше использовать двойные кавычки с вашим CSS.

Теперь давайте посмотрим на отступ. И давайте продолжим смотреть на файл functions.php, который является довольно хорошим примером, потому что я выделил несколько строк кода внутри него.

Вы можете видеть, что имя функции находится слева, а затем внутри него функция register_sidebar имеет отступ на одном уровне. И содержание этого снова отступает.

Поэтому каждый раз, когда вы помещаете содержимое в фигурные или фигурные скобки, все, что внутри, должно иметь отступ. А также для отступов, вы должны использовать разрывы строк.

Итак, давайте посмотрим на другой файл, где есть как одиночные, так и двойные строки.

Разрывы строк с помощью блока PHP

Итак, здесь вы можете видеть, что у меня есть оператор if , в котором есть две строки кода. Поэтому я поставил разрыв строки выше и ниже этих двух строк кода.

Если бы в нем была только одна строка кода, мне не пришлось бы вставлять эти пробелы внутри — я бы просто вставил это прямо в скобки.

Использование таких интервалов помогает понять, где находятся ваши блоки кода. И вы также можете видеть, что отступы были использованы. Так что есть несколько слоев отступа.

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

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

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

Если бы я написал какой-нибудь PHP, который был бы только в одной строке, я бы поместил открывающий и закрывающий теги PHP в одну строку.

PHP открывающие и закрывающие теги на одной строке

Вы можете видеть, что у нас есть некоторый PHP, который находится в одной строке, а затем у меня есть HTML. Таким образом, открывающие и закрывающие теги идут в той же строке, что и мой код.

Это введение в некоторые элементы стандартов кодирования WordPress PHP, и я показал вам несколько примеров из них в моих файлах и изменил некоторые из них, пока шел дальше, чтобы показать вам, как все делается правильно.

Если вы хотите узнать больше о стандартах кодирования, есть документация на веб-сайте WordPress . И вы также можете ознакомиться с этой серией Envato Tuts + , в которой подробно рассматриваются все элементы стандартов кодирования.

В полном курсе « Изучение PHP для WordPress» вы узнаете все о PHP, языке программирования, в который встроен WordPress.

Я дам вам обзор того, что такое PHP и как он используется для тем и плагинов WordPress, с примерами. Вы узнаете, как создать файл PHP и использовать его для вывода HTML. Затем вы научитесь использовать функции, циклы и операторы if для кодирования пользовательских тем и плагинов WordPress.

Вы можете пройти этот курс сразу же, подписавшись на Envato Elements . За небольшую ежемесячную плату вы получаете доступ не только к этому курсу, но и к нашей растущей библиотеке из более чем 1000 видеокурсов и ведущих в отрасли электронных книг по Envato Tuts +.

Кроме того, теперь вы получаете неограниченную загрузку из огромной библиотеки элементов Envato Elements из 580 000+ творческих ресурсов. Создавайте с помощью уникальных шрифтов, фотографий, графики и шаблонов и быстрее выполняйте лучшие проекты.