Functions php где находится: Файл functions.php в теме WordPress

Содержание

Как лучше — добавить свой код в functions.php или создать кастомный плагин на WordPress?

Наверняка, вы не раз сталкивались с тем, что нужно добавить какой-то кусок кода для вашего сайта на WordPress, чтобы добавить новую функциональность. Я говорю сейчас не о скриптах Google аналитики, которые вы вставляете в header часть вашей темы. Нет. Я о тех маленьких фрагментах кода, которые вы нашли на форумах в интернете и сразу же побежали добавлять их в свой файл functions.php.

Давайте будем честны, ведь вы хоть раз делали это, не так ли? И это понятно, ведь на форуме так и было написано — добавьте этот код в functions.php вашей темы на WordPress.

Смотрите также:

  • Куда вставлять этот код в WordPress? Общая структура файлов темы
  • Советы для начинающих разработку сайта на WordPress
  • Как создать дочернюю тему WordPress — Правильный способ
  • WordPress Codex — ценный помощник разработчика
  • Как сделать идеальную WordPress тему — плохие советы

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

В этом уроке мы расскажем, в каких случаях можно добавлять код в 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

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

  1. Создать текстовый файл с вашим кодом и сохранить его как . php файл
  2. Запаковать полученный .php файл в .zip архив
  3. Установить этот архив как обычный 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