Лучшая практика — Стандарты кодирования в WordPress

Вы начинающий в WordPress или профессионал? В этой статье мы объясним Стандарты кодирования в WordPress. После этой статьи, вы будете в состоянии знать стандарт кодирования в WordPress.
Мы работаем на WordPress уже более чем 5+ лет, чтобы разработать интересные и эффективные сайты, пользовательские темы и плагины, а также внесли свой вклад в несколько плагинов.
Почему стандарты кодирования?
Стандарт кодирования поможет вам избежать некоторых общих ошибок кодирования и улучшить читаемость кода, а это также легко понять и модифицировать. Просто предположим, есть более чем 10+ членов команды, которые работают над одним проектом, и если все следуют стандартам кодирования WordPress, то это будет гарантировать, что все файлы проекта, созданы одним человеком.
Ниже приведены стандарт кодирования, который рекомендуется WordPress и это лучшая практика. Если вы планируете внести свой вклад в тему, плагин или ядро в WordPress, вы должны следовать ниже стандартам кодирования.
- Стандарты CSS кодирования,
 - Стандарты HTML кодирования,
 - Стандарты PHP кодирования.
 
Стандарты CSS кодирования
Ниже стандарт кодирования кодирования CSS, которому вы должны следовать, если вы пытаетесь внести свой вклад в WordPress:
- Всегда используйте вкладки вместо пространства для отступа каждого свойства кода CSS.
 - Добавляйте две пустые строки между разделами и одну пустую строку между блоками в разделе.
 - Каждый селектор должен быть на своей собственной линии, заканчиваясь запятой или открывающейся фигурной скобкой.
 - Свойства должны следовать двоеточие и пространстве.
 - Все свойства CSS и значения должны быть в нижнем регистре.
 
Правильный способ написания кода CSS
#comment-form {
    margin: 1em 0;
}
 
input[type="text"] {
    line-height: 1.1;
}
Некорректный способ написания кода CSS
#commentForm { /* Избежать camelcase. */
    margin: 0;
}
 
#comment_form { /* Избегайте подчеркиваний. */
    margin: 0;
}
 
div#comment_form { /* Избегайте чрезмерной квалификации. */
    margin: 0;
}
 
#c1-xr { /* Что такое c1-xr?! Использовать лучше имя. */
    margin: 0;
}
 
input[type=text] { /* Должно быть [type="text"] */
    line-height: 110% /* Также вдвойне неправильно */
}
Ниже множественный класс CSS можно определить в ваших файлов стилей. Следуйте приведенным ниже стандартам кодирования:
Правильный способ написания кода CSS
#selector-1,
#selector-2,
#selector-3 {
    background: #ddd;
    color: #111;
}
Некорректный способ написания кода CSS
#selector-1, #selector-2, #selector-3 {
    background: #ddd;
    color: #111;
    }
 
#selector-1 { background: #ddd; color: #111; }
Стандарты HTML кодирования
Все HTML-теги должны быть правильно закрыты. В соответствии с W3C проверкой для HTML, все атрибуты должны иметь значение и должны быть в одинарных или двойных кавычках.
Код отступов в TML
Также всегда используйте вкладки вместо пространства для отступа кода и PHP кодов HTML.
Правильный способ
<div id="post-1" class="post"> <h1 class="entry-title">Not Found</h1> <div class="entry-content"> <p>Извините, но результаты не были найдены.</p> </div> </div>
Некорректный способ
<div id="post-0" class="post error404 not-found"> <h1 class="entry-title">Not Found</h1> <div class="entry-content"> <p>Извините, но результаты не были найдены.</p> </div> </div>
Стандарты PHP кодирования
WordPress работает постоянно над улучшением стандарта кодирования, помогая пользователям WordPress поддерживать стиль кодирования. Используйте вкладки а не пробелы в indentate в вашем PHP коде, ниже приведены некоторые примеры PHP кода отступа:
$my_array = array( [tab]'foo' => 'некоторое_значение', [tab]'foo2' => 'некоторое_значение_2', [tab]'foo3' => 'некоторое_значение_3', [tab]'foo34' => 'некоторое_значение_3', );
Открытие и закрытие фигурных скобок должны использоваться для всех блоков, даже если они не требуются, как показано здесь:
if ( condition ) {
    action1();
    action2();
} elseif ( условие2 && условие3 ) {
    action3();
    action4();
} else {
    defaultaction();
}
if ( условие ) {
    action0();
}
 
if ( условие ) {
    action1();
} elseif ( условие2 ) {
    action2a();
    action2b();
}
 
foreach ( $items as $item ) {
    process_item( $item );
}
Редактор: AndreyEx