Wordpress

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

09.10.2023

Содержание

Как лучше — добавить свой код в 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 сайт перестал работать

|

Просмотров: 2 230

Всем доброго времени суток! Бывают такие ситуации когда при добавление кода в файл «Функции темы» (functions.php) WordPress сайт перестает работать. Что делать в такой ситуации? Немного расскажу про себя, как я выходил из такого положения. Ещё ни чего почти не умея, захотел немного добавить каких то функций в тему блога. Как мы обычно делаем, вбиваем в поиск нужную нам фразу и переходим по ссылке на страницу с инструкцией. Автор пишет добавьте этот код сюда, этот туда и будет вам счастье. Таких уроков из серии без плагинов много в сети.

Файл functions.php в теме WordPress

Хотя мне кажется, кто пишет уроки для пользователей платформы ВордПресс, должны предупреждать своих читателей о последствиях которые могут возникнуть при неправильном внесении изменений в файл и как это исправить. Чтобы потом не отвечать в комментариях испуганным посетителям на вопрос — Сайт перестал работать, что делать? Помогите!

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

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

Что делать, если при изменении в файле functions.php сайт перестал работать. Так называемый белый экран смерти в WordPress

Добавил как то я (по инструкции на каком то блоге) код в функцию темы, обновляю файл и передо мной возник белый экран. Ужас. Блог / сайт WordPress перестал работать. Пришлось переустанавливать ( вот дурак был) все заново — движок; шаблон и пару своих статей. А надо было всего то, зайти на свой хостинг, открыть файл functions.php в теме блога:

Файл функции темы (functions php)

и удалить вставленный код. Сохранить файл и блог опять работает. Если Вы например не помните какой код нужно удалить, найдите свой шаблон блога на вашем компьютере (скачанную тему) и замените на хостинге файл functions.php файлом из папки с темой. Если, это вам не помогло, тогда попробуйте следующий вариант (подойдёт для тех, у кого есть тема в запасе).

Зайдите на свой хостинг и удалите проблемную тему. WordPress активирует тему по умолчанию (Twenty Fifteen, Twenty Eleven, Twenty Twelve или другие) и ошибка исчезнут. Потом можете вставить старую версию файла, исправить проблемы в теме и включить его позже. Настоятельно рекомендую держать в каталоге одну из тем, которая идет по умолчанию при установке WordPress. Даже если не собираетесь использовать.

Если у вас нету запасной темы на хостинге, тогда следующий вариант.

Попробовать закачать папку с вашей рабочей темой на сервер.

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

  • Заходите на хостинг в раздел шаблонов /wp-content/themes/ваша_тема.
  • Скачиваете тему на компьютер.
  • Закачиваете первоначальный вариант темы на сервер.
  • Пробуете войти в админку.

Важно: Перед тем как внести изменения в «Функции темы» (functions.php) сделайте копию файла. Тогда, Вы без всяких проблем восстановите работоспособность вашего любимого сайта.

А у меня на сегодня всё. Всего доброго. До встречи на страницах блога WordPress mania.


Три способа редактирования Functions.php в WordPress

Как
  1. Автор Кристофер
  2. 2 комментария

5/5

Отчеты о прибылях и убытках WooCommerce


Такого вы еще не видели

15 февраля

Открытие и редактирование Functions.php в WordPress позволяет вам делать практически все что угодно

Если вы хотите использовать весь потенциал WordPress, открытие functions.php имеет решающее значение.

Это один PHP-файл, который всегда загружается в вашу установку WordPress и позволяет вам изменять/добавлять поведение WordPress.

Он позволяет выполнять PHP-скрипт, который в значительной степени позволяет вам делать что угодно.

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

В этой статье я покажу вам три способа редактирования functions.php

  1. Редактирование в административной панели WordPress
  2. Редактирование с помощью FTP-клиента (рекомендуемый метод)
  3. Редактирование непосредственно в cPanel
  4. 9 0009

    Во-первых, предостережение при редактировании Functions.php

    Вы можете вывести свой веб-сайт (временно) из-за плохо написанной функции PHP.

    Если вы что-то напишете с ошибкой, добавите символ там, где это не требуется, или попытаетесь сделать что-то, что не нравится языку PHP, это вызовет критическую ошибку.

    Критическая ошибка будет отображаться на вашем веб-сайте либо как ошибка 500, либо ваш веб-сайт будет просто белым экраном (смерти).

    Теперь, , это не долгосрочная проблема, которая приводит к необратимому повреждению, , если вы отмените все, что вы сделали, чтобы сломать его.

    Как только ваш код будет свободен от ошибок PHP, ваш сайт мгновенно вернется в нормальное состояние.

    Но по этой причине я не рекомендую редактировать functions.php на вашем сайте.

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

    Так что имейте это в виду.

    Во-вторых, вы должны придерживаться лучших практик WordPress

    Одна важная вещь, о которой следует помнить при редактировании functions.php: используйте дочернюю тему .

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

    Если вы не используете дочернюю тему, все внесенные вами изменения будут стерты обновлением темы.

    Если вы не знаете, как создать дочернюю тему, мы рекомендуем вам прочитать эту статью о создании дочерней темы.

    Редактирование functions.php напрямую через панель администратора WordPress (не рекомендуется)

    Доступ к functions.php сопряжен с рисками, как указано ранее в чтении, но вкратце на изображении ниже показано, как получить к нему доступ.

    1. Откройте панель администратора WordPress и выберите Внешний вид > Редактор тем .
    2. Выберите дочернюю тему вашей активной темы WordPress.
    3. Нажмите на файл с названием  Theme Functions .

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

    Редактирование functions.php через FTP-соединение (рекомендуется)

    Это лучший способ редактирования functions. php, это самый безопасный и удобный после настройки.

    Для начала вам понадобится FTP-клиент .

    Я бы порекомендовал FileZilla или WinSCP, оба бесплатны.

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

    Это НАМНОГО упрощает чтение и редактирование вашего кода — это не обязательно, однако вы можете просто использовать Блокнот, если хотите.

    1. Подключение к FTP-клиенту

    При загрузке FTP-клиента вам будет предложено добавить веб-сайт.

    Вы столкнетесь с довольно стандартными учетными данными для входа (ниже приведен пример WinSCP).

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

    Я бы рекомендовал ввести **ваш хостинг-провайдер** Данные FTP-клиента , чтобы найти ваш.

    Получив свои данные, сохраните учетные данные и нажмите «Войти».

    В случае успеха вы будете перенаправлены в иерархию папок.

    2. Поиск Functions.php

    Functions.php всегда находится в одном и том же месте.

    Он присутствует в вашей родительской теме и, если вы настроили ее, в вашей дочерней теме.

    Если вы не используете дочернюю тему, просто сделайте это. Это избавит вас от многих головных болей.

    Итак, мы предполагаем, что вы настроили дочернюю тему для целей этого упражнения.

    Ниже указан точный каталог, где вы его найдете.

    папка вашего веб-сайта> wp-контент> темы> ваша дочерняя тема> functions.php

    Здесь есть две переменные, первая — папка вашего сайта.

    У этого может быть много имен, это папка, в которой находится ваша установка WordPress.

    Чтобы понять, смотрите ли вы в корень своей установки WordPress, он должен содержать файлы и папки, аналогичные показанным на снимке экрана ниже.

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

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

    3. Редактирование функций PHP

    Чтобы отредактировать functions.php, вы можете иногда просто дважды щелкнуть его, в зависимости от того, что ваш FTP-клиент установил по умолчанию.

    Если двойной щелчок не работает , обычно вы можете щелкнуть правой кнопкой мыши и перейти к редактированию , это также может позволить вам выбрать текстовый редактор.

    Теперь, когда ваш редактор откроется с functions.php, вы просто вводите желаемый код и нажимаете «Сохранить» в текстовом редакторе.

    Это отправит сохранения в FTP-клиент.

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

    Редактирование functions.php через cPanel

    Редактирование functions.php через Cpanel не очень удобный способ, но зато самый доступный.

    Если у вас есть веб-браузер и Cpanel, все готово.

    1. Перейдите в cPanel и перейдите в файловый менеджер

    2. Найдите каталог Functions.php, как показано ниже

    папка вашего веб-сайта > wp-content > themes > ваша дочерняя тема > functions.php

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

    3. Редактирование functions.php в cPanel

    Теперь, когда мы нашли functions.php, чтобы отредактировать его, просто нажмите на него, а затем нажмите «Изменить вверх» на верхней панели.

    Это может вызвать диалоговое окно с вопросом о кодировании, это, скорее всего, не повлияет на вас, поэтому вы можете просто продолжить, нажав «Редактировать».

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

    И все, вот так мы редактируем functions. php в cPanel.

    Помогите! Я сломал свой сайт 🙁

    Если вы сломали свой сайт в functions.php, не переживайте, это очень легко исправить.

    Я делал это миллион раз, один символ не на том месте, и ваш сайт пропал.

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

    Мы не всегда знаем, что мы сделали, чтобы сломать его, поэтому другое дело — удалить все в functions.php, кроме начала

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

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

    После того, как вы определились с функцией-виновником, внимательно изучите ее и запустите средство проверки синтаксиса PHP.

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

    Вот как редактировать файл functions.php в панели инструментов WordPress, FTP-клиенте и через cPanel

    Если у вас есть какие-либо вопросы или проблемы с доступом к functions.php, не стесняйтесь оставлять комментарии ниже, и я свяжусь с вами в течение дня или около того.

    Удачного кодирования!

    Крис

    Связанный пост

    Усовершенствуйте свой магазин WooCommerce с помощью WP Davies

    В.П. Дэвис

    Моя учетная запись

    Copyright © 2023 Дизайн WP Davies

    Условия использования | Политика конфиденциальности

    Местоположение 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 (даже с хорошими комментариями) усложнит жизнь в будущем — и, вероятно, есть несколько законных причин для сброса кода сюда, учитывая, как легко создавать плагины функций, или загрузите фрагменты с помощью плагина, подобного приведенному выше. Конечно, нужно учитывать и последствия для производительности, но это более сложный разговор, чем эта статья!

    Вам помогло?

    Оставьте комментарий ниже, если это помогло вам узнать что-то новое сегодня … или особенно если у вас все еще есть вопросы! Это то, как мы можем предоставлять все более и более качественные учебные пособия, отвечая на реальные вопросы там, где есть пробелы в документации.

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

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