Главная / WP Экспресс / functions.php — используем правильно
WPNICE рекомендует!

functions.php — используем правильно

Привет. Предлагаю всем читателям сегодня еще раз вернуться к теме о внесении изменений в файл functions.php, а вернее, поговорить о том,  как это следует делать правильно.

Многие пользователи добавляют сниппеты кода прямо в файл темы functions.php file, но это мягко говоря, не самая хорошая идея. Создание кастомного WordPress плагина – это часто лучшее решение проблем, связанных с добавлением кода. И это совсем не сложно.

Что такое functions.php?

Если вы когда-нибудь просматривали папки вашей инсталляции WordPress, то могли заметить, что  WordPress-сайт содержит множество файлов functions.php. Functions.php, о котором я говорю сейчас, это тот, который лежит в папке с вашей темой. Этот файл содержит все функции, специфичные для вашей темы.

Почему это плохая идея — всегда использовать functions.php

Начнем с того, что скажем, что использовать файл functions.php вашей темы для добавления сниппетов кода – это  не всегда плохо. Но это панацея, и вы не должны использовать этот способ везде и всегда.

Давайте начнем с причины #1:

Если вы обновите свою активную тему, то все добавленные ранее функции  могут пропасть. И я уже могу предвидеть вопль в комментариях “ так для этого и есть дочерние темы”. И вы правы: дочерние темы решают эту проблему. Но далеко не все люди умеют работать с дочерними темами, зато умеют использовать для тех же целей functions.php.

Причина #2 – даже если вы правильно используете дочернюю тему для functions.php, что случится, если вам захочется сменить активную тему? Я надеюсь, вы задокументировали все, что когда-либо добавляли в ваш файл functions.php, потому что без этого, смена темы может стать большой головной болью.

Причина #3 – если вы когда-либо добавляли в ваш functions.php такой код, который приводил к полному падению инсталляции  WordPress, вы знаете, что надо получить доступ к сайту по FTP, скачать  ваш functions.php, удалить злосчастный код и загрузить его обратно. Это раздражает, когда есть более просто способ решить подобную проблему.

Так, когда же вы должны использовать functions.php?

Даже правильное использование functions.php в вашей дочерней теме не всегда удачная идея.

Если вы добавляете твики, которые на 100% специфичны для вашей темы, то смело добавляйте их в functions.php (в дочерней теме!!). Вот несколько примеров, когда этот способ прокатит:

  • Добавление второй страницы стилей для вашей темы
  • Изменение длины цитат для лучшего соответствия вашей специфичной теме
  • Добавление шрифтов, которые специфичны для данной темы
  • Добавление файла перевода

Базово, каждый раз, когда вы добавляете, удаляете или модифицируете что-то 100% специфичное вашей теме, то можно сосредоточиться на  functions.php вашей дочерней темы.

…и когда использование  functions.php – это плохая идея?

Не стоит использовать functions.php, когда вы хотите перенести любые изменения из одной темы в другую. Вот вам примеры, когда не нужно использовать  functions.php:

  • Создание кастомного виджета, который вы будете использовать снова и снова
  • Добавление чего-то независимого от темы, типа кода Google Analytics
  • Создание кастомного  шорткода

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

Как использовать кастомный плагин вместо functions.php

Чтоб создать плагин, куда можно помещать сниппеты кода, все, что вам нужно, это сделать это:

  • Создайте.php-файл с небольшим количеством предложенного мной кода
  • Создайте .zip-файл, содержащий .php-файл
  • Установите и активируйте плагин, как и любой другой

Да, это реально просто. Давайте начинать.

Шаг 1: создайте PHP-файл и добавьте код

Чтоб начать, откройте редактор текста, типа Блокнота. Затем добавьте этот код в чистый документ:

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

Затем, сохраните файл, как-то так: colin-custom-functions.php. Называйте, как хотите, лишь бы имя было уникальным, чтоб WordPress не перепутал его с уже установленным ранее одноименным плагином.

Если вы используете Блокнот, то при сохранении файла вам нужно выбрать Все файлы из выпадающего меню, чтоб вы могли сохранить его как файл .php:

Шаг 2: Создайте  .zip файл

Теперь вам нужно создать .zip-файл, содержащий файл, который вы только что создали. Если вы используете Windows, вот как вы можете это сделать:

Шаг  3: Устанавливаем наш плагин, как любой другой

Теперь просто загрузите ваш .zip-файл, проделав путь Плагины  → Добавить новый  → Загрузить плагин:

После активации, вы должны увидеть его в списке ваших плагинов:

Добавление ваших сниппетов кода

Чтоб добавить сниппет кода просто прицепите их к.php файлу, который вы создали. Или вы  всегда можете создать новый плагин для разделения разных категорий сниппетов.

К примеру, вот как будет выглядеть шорткод “Hello World!”:

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

Чтоб создать комментарий, используйте следующий синтаксис: /* ВАШ КОММЕНТАРИЙ */.

Затем вы можете загрузить файл по FTP, переписав существующий файл. Или вы можете удалить существующий плагин  и установить на его место новую версию.

Как еще можно избежать использования functions.php
Если вы все же не решились еще на создание собственного плагина, то можете просто использовать плагин, который называется Code Snippets

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

Также он позволяет вам импортировать/экспортировать сниппеты кода на другие сайты для копирования необходимых функций.

Источник

По теме:

Как создать плагин WordPress

Как лучше всего добавить свой код в WordPress

Тоже интересно!

Полезные советы начинающим с WordPress блогерам в 2017 году

Полезные советы начинающим с WordPress блогерам в новом, 2017 году

Всем привет, уважаемые читатели и друзья! У меня праздники неожиданно несколько затянулись, так что, прошу …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *