Как лучше — добавить свой код в functions.php или создать кастомный плагин на WordPress?
Наверняка, вы не раз сталкивались с тем, что нужно добавить какой-то кусок кода для вашего сайта на WordPress, чтобы добавить новую функциональность. Я говорю сейчас не о скриптах Google аналитики, которые вы вставляете в header часть вашей темы. Нет. Я о тех маленьких фрагментах кода, которые вы нашли на форумах в интернете и сразу же побежали добавлять их в свой файл functions.php.
Давайте будем честны, ведь вы хоть раз делали это, не так ли? И это понятно, ведь на форуме так и было написано — добавьте этот код в functions.php вашей темы на WordPress.
Смотрите также:
- Куда вставлять этот код в WordPress? Общая структура файлов темы
- Советы для начинающих разработку сайта на WordPress
- Как создать дочернюю тему WordPress — Правильный способ
- WordPress Codex — ценный помощник разработчика
- Как сделать идеальную WordPress тему — плохие советы
В этом уроке мы расскажем, в каких случаях можно добавлять код в functions.php, а в каких лучше использовать отдельный плагин. Также мы покажем, как вы можете сами создать кастомный плагин и добавить в него свой код.
Что такое functions.php
Если вы когда либо лазили по файлам вашего WordPress сайта, вы могли наткнуться на несколько файлов functions.php. Файл functions.php, о котором мы будем говорить в этом уроке, находится в папке: wp-contentthemesваша_темаfunctions.php.
Очевидно, это тот самый файл, который хранит все функции и настройки вашей конкретной темы, активной в данный момент. Обратите внимание на слово «активной», потому как в этом и будет крыться основной посыл этого урока.
Почему всегда использовать functions.php — это плохая идея
Не поймите неправильно, использовать functions.php для маленьких кусочков кода в пару строк — это вполне нормальная ситуация. Мы говорим о том, что нежелательно использовать functions.php как склад для абсолютно всего добавленного вами кода. Это не универсальное решение для любой ситуации.
Причина №1.
Если выйдет обновление для вашей темы оформления, вы потеряете всё, что вы дописали в файле functions.php. Я знаю, о чем вы только что подумали — но ведь есть дочерние темы как раз для таких ситуаций?
Конечно есть. Но есть также много людей, которые понятия не имеют, что такое дочерняя тема. Или есть люди, которые обратились к вам за помощью добавить кусок кода в их тему.
Поэтому эта причина находится в этом списке. Если вы добавляете код в functions.php без использования дочерней темы, это ваш первый тревожный звоночек.
Причина №2.
Даже если вы правильно настроили и используете дочернюю тему. Что случится, если вы захотите перейти на другую тему оформления? Я надеюсь, вы добавили комментарий к каждому внесенному изменению в вашем файле functions. php, потому как без этого переход на другую тему будет крайне болезненным. Думаю, вы уловили мысль.
Причина №3.
Если вы добавили код в functions.php, который совершенно неожиданным образом полностью сломал ваш сайт, и вы видите пустой белый экран — вам понадобится FTP клиент, чтобы закачать «испорченный» functions.php, отредактировать его и загрузить обратно на сайт. Удовольствие такое себе.
Когда можно использовать functions.php
Правильное использование functions.php для дочерней темы, активной в данный момент — это допустимый вариант. Но помните, я акцентировал внимание на этом слове «активной«?
Если вы добавляете порции кода, которые будут иметь смысл только в работе с конкретно этой темой, тогда вы можете смело использовать functions.php (в дочерней теме). Вот несколько примеров, когда это будет уместно:
- Добавление еще одного файла стилей (.css) для вашей темы
- Изменение длины для анонса записи (post excerpt), чтобы сайт выглядел лучше
- Добавление кастомных шрифтов для текущей темы
- Добавление файла локализации для перевода текущей темы
Другими словами, каждый раз при добавлении или изменении чего-либо, связанного с конкретной текущей темой, вы можете смело использовать functions. php.
Когда лучше обойтись без functions.php
Использовать functions.php для добавления более глобальных вещей и функций, которые вам теоретически могут пригодиться и для другой темы — вот это плохая идея.
Вот пару примеров, когда лучше обойтись без functions.php:
- Создание кастомных виджетов, которые вы будете часто использовать
- Создание кастомных шорткодов
- Добавление кода, который не зависит от темы оформления (код Google Analytics и т.д.)
В таких случаях лучше сохранять этот код независимо от вашей темы оформления. И вы можете сделать это с помощью кастомных плагинов.
Вы сейчас подумали — ломать голову над созданием плагина, когда можно отредактировать functions.php? Это слишком сложно! Поверьте, это не так. Это делается очень легко и быстро.
Как настроить кастомный плагин вместо functions.php
Чтобы создать свой кастомный плагин для хранения вашего кода, вам нужно:
- Создать текстовый файл с вашим кодом и сохранить его как . php файл
- Запаковать полученный .php файл в .zip архив
- Установить этот архив как обычный WordPress плагин в меню Плагины → Добавить новый
Вот и все, всего 3 действия.
Шаг 1. Создание .php файла с вашим кодом
Откройте Блокнот на вашем компьютере и вставьте следующий текст:
<?php /* Plugin Name: WPcafe Custom Plugin */ /* Добавьте ваш код сразу под этой строчкой */ ?>
Конечно, вы можете использовать свое имя для плагина в строке Plugin Name:
Сохраните файл и дайте ему какое-то уникальное имя, чтобы WordPress не перепутал ваш плагин с уже установленными. Например: wpcafe-custom-functions.php.Да, не забудьте при сохранении выбрать тип файлов «Все файлы» и дописать расширение .php:
Шаг 2. Создайте .zip архив
Думаю, тут не нужно никаких пояснений. Просто создайте .zip архив с вашим файлом любым удобным архиватором.
Шаг 3. Установите как обычный плагин
Самая простая часть. Просто зайдите в админке WordPress в Плагины → Добавить новый и загрузите ваш архив как самый обычный плагин.
Как только вы активируете его, вы сможете увидеть свой новый плагин в списке всех других установленных плагинов:
Как добавлять свой код
Чтобы добавить свой фрагмент кода, просто вставляйте его в файл .php, который вы создали. Или вы всегда можете сделать еще один отдельный плагин для двух разных функций.
Например, вот так будет выглядеть ваш файл .php, если вы захотите сделать шорткод «Hello World!»:
Мы также рекомендуем добавлять свой комментарий к каждому фрагменту кода в каждом кастомном плагине, который вы создаете.
Эти комментарии никак не влияют на работоспособность вашего кода и на скорость выполнения плагина. Но с ними вам будет проще ориентироваться и помнить, что делает каждая функция, которую вы добавили.
Просто оберните свой комментарий в синтаксис из косой и звездочки: /* Ваш комментарий */
После внесения изменений в ваш код вы можете перезагрузить . php файл через FTP или просто создать новый .zip архив и загрузить как новый плагин, а старый удалить.
Другие способы как избегать правок functions.php
По большому счету, если вы достаточно уверены в своих силах и знаете, как добавлять код в functions.php, у вас не должно возникнуть никаких трудностей и с кастомными плагинами. Здесь нет ничего сложного.
Но мы прекрасно понимаем, если у вас нет желания возиться со всем этим вручную. Все же, это WordPress. Поэтому вам может пригодиться бесплатный плагин Code Snippets, который позволяет легко добавлять ваш дополнительный код на сайт:
С этим плагином вы можете добавлять разные сниппеты с кодом, давать им название, описание, активировать и отключать выборочно тот или иной фрагмент кода.
Другая классная особенность состоит в том, что вы можете импортировать/экспортировать ваши фрагменты кода между сайтами.
Итоги
Это может показаться незначительной мелочью, но правильное расположение вашего дополнительного кода позволит в дальнейшем без проблем переключаться между другими темами оформления. Также вы можете по-отдельности включать или отключать ту или иную функциональность, если вы разделите каждую дополнительную функцию между отдельными плагинами.
Так что, этот метод действительно заслуживает внимания.
Смотрите также:
Изучает сайтостроение с 2008 года. Практикующий вебмастер, специализирующий на создание сайтов на WordPress. Задать вопрос Алексею можно на https://profiles.wordpress.org/wpthemeus/
functions.php | ploshadka.net
Предположим есть задача запустить метод по крону. В этом методе идет обращение к методу какого-нибудь плагина.
Инструкция по добавлению кнопок (quicktags) в текстовой редактор WordPress для формы комментариев.
Заметка о том, как убрать nofollow из комментариев WordPress не применяя плагины.
Подсчет комментариев пользователя может пригодиться, как для личной страницы пользователя сайта на WordPress, так и для вывода этого значения в его комментариях.
Наводим порядок во внешнем виде страницы редактирования WordPress.
Описание основных видов вывода записи на WordPress. И модификации the_excerpt и the_content. Например, для вывода конкретного параграфа в цитате поста.
Предположим вы хотите вставить информацию в каждую запись (статью) сайта на WordPress, начиная со второго или третьего абзаца.
В профиле пользователя на WordPress очень много неактуальных полей. В дополнение к этому некоторые плагины добавляют свои поля, что делает эту страницу перегруженной и ужасно некрасивой. В статье привожу все известные мне и рабочие способы удаления.
Если выводить произвольные поля WordPress в файле functions.php стандартным образом, то они не будут показываться.
WordPress автоматически генерирует специальные размеры загружаемых изображений на сайт (например 768 пикселей). Даже в том случае, когда в настройках блога не заданы эти размеры.
Создаём произвольную таксономию для новостей в WordPress. В данной инструкции будет создан новый тип записей «Новости» и функционал для него. В том числе создание новых рубрик (разделов) для Новостей.
Создаём свою произвольную таксономию на WordPress к типу записи — post.
При небольших разрешениях сайта в WordPress, меню администратора меняется на мобильную версию. В админ панели исчезают ссылки, которые присущи настольной версии сайта и появляются свои. В данной статье описывается способ, как это изменить, чтобы вернуть как было.
Во время редактирования статей в WordPress, он автоматически, во избежании потерь информации, создаёт копии правок. Они называются редакциями или ревизиями. При большом количестве статей и правок, эта лишняя информация увеличивает объём базы данных MySQL.
Выводить изображения на свой сайт предпочтительнее с английскими названиями. А что делать, если файл нужно подхватить автоматически под русское слово? Для этих целей можно воспользоваться функцией транслитерации.
Иногда нужно поменять много повторяющегося текста в WordPress. Делать это в ручном режиме долго. К счастью, всё это можно автоматизировать.
Если возникла потребность дополнительных HTML кнопок в текстовой редактор WordPress, то сделать это достаточно просто.
Готовые PHP для вывода названий текущей категории в записях WordPress. Вывод разделов в зависимости от глубины подраздела, в которой находится запись.
В специфики того, что я придирчиво отношусь к захламлению и имею свойство избавляться от лишнего, вывод изображений в WordPress я изучил вдоль и поперек. Представляю один из наилучших способов вывода изображений.
Расположение functions.php в WordPress
Обновлено , Первоначально опубликовано Робин Скотт
Table of Contents
Этот вопрос был задан нам недавно, после того, как мы опубликовали учебник, поэтому я размещаю его на случай, если кто-то еще захочет это узнать, а также для того, чтобы я мог связать его в будущих руководствах по WordPress. слишком.
Где находится functions.php в WordPress?
Когда разработчики говорят о «добавлении этого кода в ваш файл functions.php» или что-то в этом роде, это файл functions.php в вашей текущей активной теме.
Это находится по адресу: `[место установки wordpress]/wp-content/themes/[your-active-theme]/functions.php`
Примечание — используйте дочернюю тему для редактирования
Обратите внимание, редактируя этот файл, вы должны сделать это в дочерней теме (если только ваша тема не является полностью пользовательской!). Вы можете узнать о родительских и дочерних темах на сайте WordPress здесь.
Наше предпочтение — использование плагина
Мы не будем называть эту передовую практику, хотя, безусловно, существует «неправильный» способ добавления в functions.php (это будет добавление в родительскую тему файл functions.php на тема, которую вы получили из обновленного репозитория… когда обновления выйдут, вы потеряете свои модификации).
Для всего, что добавляет небольшое изменение в функциональность вашего сайта, мы предпочитаем и рекомендуем делать это с помощью плагина — либо собственного плагина, либо того, который содержит «фрагменты» кода. Для этого нам нравится плагин «Code Snippets», потому что он позволяет вам называть и сохранять каждый из ваших фрагментов кода, а также выбирать, где они запускаются (например, только в интерфейсе или только в админке).
Если вы сделаете это, то сможете отключить свои сниппеты независимо одним нажатием кнопки, если возникнут проблемы, или если вы просто хотите посмотреть, как они выглядят «выключено» и «включено».
Мы говорим «не используйте functions.php для хранения фрагментов?» — да и нет. Да, мы говорим «старайтесь не делать этого», но также нет, в разработке это законное место для размещения фрагмента кода для тестирования функции. В долгосрочной перспективе перенос ваших фрагментов в отдельный плагин или — для микроматериалов — в плагин фрагментов с маркировкой повысит стабильность и ремонтопригодность вашего магазина WooCommerce или веб-сайта WordPress. Будет проще изолировать весь ваш код, а также выборочно добавлять и удалять элементы.
Огромная куча кода functions. php (даже с хорошими комментариями) усложнит жизнь в будущем — и, вероятно, есть несколько законных причин для сброса кода сюда, принимая во внимание, как легко создавать плагины функций, или загрузите фрагменты с помощью плагина, подобного приведенному выше. Конечно, нужно учитывать и последствия для производительности, но это более сложный разговор, чем эта статья!
Вам помогло?
Оставьте комментарий ниже, если это помогло вам узнать что-то новое сегодня … или особенно если у вас все еще есть вопросы! Это то, как мы можем предоставлять все более и более качественные учебные пособия, отвечая на реальные вопросы там, где есть пробелы в документации.
Как открыть и отредактировать файл Functions.php
Перейти к содержимомуFacebook-f Twitter Youtube
Поиск
Администратор WordPress должен знать, как открывать и редактировать файл functions.php. В этой статье рассматриваются случаи, когда вам может понадобиться это сделать, и как это сделать безопасно. Давайте начнем с краткого введения этого важного файла и того, где вы можете его найти.
Файл функций WP определен
Каждая установка WordPress имеет файл functions.php в папке тем (/wp-content/themes). Его основная цель — добавить функции и возможности в активный шаблон с помощью кода PHP. Файл уже содержит код, относящийся к активной теме WordPress, но вы также можете добавить собственный код.
Functions.php и плагины
Ваши функции PHP работает как плагин, но зависит от темы. Это означает, что каждый файл functions.php принадлежит своей теме. Плагины отличаются тем, что они продолжают работать во всех активных темах. Таким образом, любые изменения в PHP-файле функций не переносятся, если вы переключаетесь на другую тему.
Вот 6 примеров того, что может сделать ваш файл functions.php.
- Добавление настраиваемых меню навигации
- Добавление полей профиля для поддержки авторов WP
- Добавление готовых к виджетам областей или боковых панелей к сообщениям
- Настройка панели администратора WordPress
- Изменение сообщения о том, что ваш сайт WordPress находится на обслуживании
- Изменение поведения активного плагина
Добавить фрагменты кода с помощью плагина
Редактировать или модифицировать PHP-файлы функций с помощью фрагментов кода легко, но есть предупреждение. Если недавно добавленный код неверен или что-то случайно изменено, это может привести к поломке вашего сайта. Это проблема, если вы забыли, что делали, или не можете найти сломанный код. Попросите кого-нибудь с опытом обновить этот файл, если вы не уверены, что вносите изменения.
СДЕЛАЙТЕ НОВУЮ РЕЗЕРВНУЮ КОПИИ ВАШЕГО ВЕБ-САЙТА WORDPRESS ПЕРЕД НАЧАЛОМ. ПО КРАЙНЕЙ МЕРЕ СДЕЛАЙТЕ КОПИЮ ФУНКЦИЙ PHP ПЕРЕД РАБОТОЙ НАД НИМ.
Войдите в свою панель инструментов WP, затем перейдите в Внешний вид => Редактор тем .
При первом посещении редактора тем WP отображается предупреждающее сообщение.
Нажмите « Я понимаю », чтобы продолжить.
Подтвердите или переключитесь на правильную тему в раскрывающемся списке Выберите тему для редактирования (вверху справа).
Теперь щелкните ссылку Theme Functions справа от экрана Edit Themes.
Ваш следующий шаг зависит от того, нужно ли вам редактировать существующий код или добавить новый фрагмент.
Как редактировать существующий код (только для опытных пользователей)
Функции Файлы PHP огромны, поэтому самый быстрый способ найти нужный код — воспользоваться быстрым поиском.
Используйте сочетание клавиш CTRL + F , чтобы открыть окно поиска файлов.
Напечатать или вставить часть кода в поле поиска и нажмите Введите на клавиатуре.
Измените свой код и нажмите кнопку Обновить файл , чтобы сохранить изменения.
Проверьте сайт, чтобы убедиться, что обновление прошло успешно.
Как добавить фрагменты кода в функции PHP
Щелкните внутри файла и используйте сочетание клавиш CTRL + End , чтобы перейти в конец страницы.
Скопируйте и вставьте новый код внизу файла.
Нажмите кнопку Обновить файл , чтобы сохранить изменения.
Проверьте сайт, чтобы убедиться, что обновление прошло успешно.
Редактирование функций PHP с использованием FTP и файлового менеджера
Единственная причина для редактирования вашего WP functions.php с сервера веб-хостинга — это проблемы. Например, файл не отображается на панели инструментов WP. Или, может быть, вы не можете получить доступ к экрану редактора или не можете сохранить тему или дочернюю тему после ее изменения.
ВНИМАНИЕ! СДЕЛАЙТЕ НОВУЮ РЕЗЕРВНУЮ КОПИИ ВАШЕГО ВЕБ-САЙТА WORDPRESS ПЕРЕД НАЧАЛОМ. ПО КРАЙНЕЙ МЕРЕ СДЕЛАЙТЕ КОПИЮ ФУНКЦИЙ PHP ПЕРЕД РАБОТОЙ НАД НИМ.
Параметры FTP для веб-сайтов и блогов WordPress
Вы можете использовать либо файловый менеджер cPanel, либо автономный сторонний FTP-клиент.
Путь к файлу: /public_html/wp-content/themes/theme-name/functions.php
Использование стороннего FTP-клиента
- Загрузите копию файла functions.php на свой компьютер ( см. путь к файлу выше)
- Переименуйте его в copy-functions. php (это ваш резервный файл)
- Загрузите еще одну копию файла functions.php на свой компьютер с помощью FTP
- Откройте и отредактируйте файл в редакторе кода, например Notepad++, с вашего рабочий стол
- Закройте файл и сохраните изменения
- Загрузите измененный файл functions.php на ваш FTP-сервер
Использование файлового менеджера панели управления (cPanel)
- Откройте файловый менеджер из вашей учетной записи cPanel
- Перейдите к файлу functions.php для вашего домена (путь к файлу см. выше)
- Щелкните правой кнопкой мыши и выберите Изменить или щелкните ссылку Изменить в строке меню
Теперь файл PHP открывается в новая вкладка браузера.
Отредактируйте файл functions.php, затем нажмите кнопку Сохранить изменения (вверху справа).
Если что-то пойдет не так с любым методом:
- Переименуйте copy-functions. php , который вы сохранили ранее, обратно в php
- Повторно загрузите файл functions.php на ваш веб-сервер
- Выберите «ОК», «Заменить файл» или любой другой запрос подтверждения, который вы получите, чтобы перезаписать
- Попробуйте найти ошибку или обратитесь за помощью к более опытному специалисту
Заключительные комментарии
Открыть и отредактировать PHP-файл функций несложно, но нужно быть осторожным. Всегда добавляйте только тот код, который, как вы знаете, является безопасным и точным. Если сомневаетесь, доверьте это профессионалу.
Хотите изучить WordPress?
WordPress — замечательная платформа для создания веб-сайтов любого типа. Он используется крупными корпорациями и небольшими семейными сайтами.
Вам также могут понравиться
Комментарии
Мои книги
У меня есть целый ряд книг для веб-мастеров, которые можно приобрести на Amazon в форматах Kindle и Paperback. WordPress, SEO и самостоятельная публикация.
Полный ассортимент
на Amazon
Мои онлайн-курсы
Мои курсы охватывают ряд навыков, связанных с веб-мастерами, от изучения самого WordPress до установки SSL-сертификата на ваш сайт.
Получить коды купонов
На Udemy
Подпишитесь на мою рассылку
Энди Уильямс предлагает бесплатные советы и учебные пособия по интернет-маркетингу, WordPress, SEO и самостоятельной публикации с 2003 года!
Раскрытие информации: я являюсь аффилированным лицом ряда продуктов, рассмотренных на этом сайте. Пожалуйста, прочтите мое заявление о раскрытии партнерской информации.
Кто такой Энди Уильямс?
Web Content Studio
Программное обеспечение для Windows, помогающее создавать более качественный тематический контент на любую тему. Позвольте пауку ключевых слов подсказать вам самые важные слова и фразы темы, а затем используйте встроенный редактор для создания и анализа вашего контента.