Рубрики
WordPress

Гайд для новичков — как добавить сторонний код в WordPress

Добавление стороннего кода в файл functions.php WordPress темы — достаточно распространённое явление. В то время как этот процесс является достаточно простым для тех, кто знает как функционирует PHP, для новых пользователей он является немного трудоёмким. Очень часто новички хотят достигнуть финального результата урока, но у них не хватает знаний в области PHP, чтобы понять как правильно вставить код, не сломав при этом весь сайт. В этом нет ничего плохого, и если вы читаете эту статью из-за того, что сломали свой сайт, то мы хотим вас заверить, что вы такие не одни. Все мы с этого начинали и все мы делали эту ошибку. В этой статье мы расскажем вам как избежать самые распространённые ошибки при вставке PHP-кода из уроков в файл  functions.php вашей WordPress темы.

Обратите внимание: Файл  functions.php находится в папке /wp-content/themes/yourthemename/. Это НЕ тот же самый файл ядра  functions.php, который находится в папке /wp-includes/.

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

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

Первая самая распространённая ошибка

Пользователь находит код на вебсайте, который обёрнут в PHP, как показано ниже, и они вставляют его не туда, куда надо.

Пример кода из файла темы functions.php (обратите внимание, что обычно файл functions.php содержат гораздо больше кода, но суть примерно такая же):

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

Заметьте, что мы сделали всё правильно и вставили PHP код после того, как был закрыт предыдущий.

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

Вторая самая распространённая ошибка

Каждый автор уроков обладает своим собственным стилем письма. Некоторые оборачивают свои сниппеты в тэги PHP, как вы видели в примере выше. Другие авторы не оборачивают сниппеты в тэги PHP. Это приводит нас ко второй проблеме. Если вы видите такой вот код:

То автор подразумевает, что вы знаете о том, что этот код должен быть размещён внутри PHP тэгов. Некоторые даже рекомендуют вставлять их код внизу файла functions.php вашей темы. Пример ошибки новичка:

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

Третья самая распространённая ошибка

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

Структура функции выглядит примерно так:

Если вы вставите другую функцию внутри функции, то это приведёт к поломке вашего сайта. Пример такой ошибки будет выглядеть так:

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

Описанные выше ошибки скорее всего являются причиной поломки вашей темы, когда вы скопировали и вставили сниппет из сети в файл functions.php вашей WordPress темы.

Другие полезные советы

Бывают ситуации, когда проблемы связаны с тем, что вставленный код содержит ошибки. Некоторые ошибки достаточно небрежные, например разработчик забыл поставить ; или закрыть кавычки. Другие ошибки, в свою очередь, либо носят чисто функциональный характер и связаны с самим кодом, либо возникают из-за того, что пользователь не чётко следует инструкциям.

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

Бывают случаи, когда вы натыкаетесь на длинные сниппеты, которые вы очень хотите скопировать. У авторов есть тенденция объяснять код своим пользователям (что очень даже хорошо), но это так же приводит к ошибкам в коде. Так что всё, что мы делаем, это прокручиваем вниз или вверх, чтобы получить итоговый сниппет, вместо того, чтобы самим собрать его по кусочкам.

Вы когда-нибудь сталкивались с подобными ошибками? Как вы с ними справлялись? Сталкивались ли вы с проблемами, которые мы не описали? Обязательно поделитесь с нами в комментариях.

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

Загрузка комментариев...