Wordpress подключить файл с функциями

Обновлено: 04.07.2024

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

Для этого нам нужен доступ к functions.php, потому что нам нужно добавить в него код для вызова стилей и скриптов. Мы НЕ будем добавлять приведенный ниже код в начало нашей веб-страницы:

Вместо этого вы должны войти в functions.php и добавить код, который выглядит так:

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

wp_enqueue_style, если это таблица стилей или wp_enqueue_script, если это файл сценария.

Добавьте Основную Таблицу Стилей

В WordPress у вас должна быть основная таблица стилей в корне вашей темы, а не внутри другой папки, такой как css/style.css. Таким образом, в WordPress есть быстрая функция для вызова вашей основной таблицы стилей, и это get_stylesheet_uri().

Добавление Дополнительных Таблиц Стилей

Теперь вам нужно добавить другие таблицы стилей, которые могут находиться в другой папке. В WordPress есть встроенная функция, которая позволяет нам быстро добраться до корня темы, которую мы построили, и это get_template_directory_uri(). Затем мы должны добавить папку, а затем имя файла в эту функцию. Мы должны использовать то, что называется конкатенацией. Конкатенация — это просто громкое слово для добавления функций и строк.

Добавить Файлы Скриптов

Процесс добавления файлов скриптов в точности похож на описанный выше процесс добавления дополнительных таблиц стилей. Единственное отличие заключается в том, что вы должны убедиться, что используете функцию wp_enqueue_script (), а не wp_enqueue_style().

Использование CDN

Я настоятельно рекомендую использовать CDN для вызова любых, если не всех ваших скриптов и стилей. CDN означает сеть доставки контента и относится к быстрому способу получения контента конечному пользователю. Если вы знаете, что вам понадобится большая библиотека js, например Twitter Bootstrap, вы можете вытащить ее из CDN вместо того, чтобы вытаскивать ее из файла на вашем сервере. Зачем это делать? Когда контент передается с CDN, он на самом деле поступает с разных серверов и, следовательно, быстрее загружается в веб-браузер ваших читателей, особенно если он уже закеширован. Это очень полезно при создании мобильных дружественных веб-сайтов, потому что веб-сайт будет загружаться быстрее.

Пример

Внутри «()» мы должны описать, что мы делаем. В этом случае мы запрашиваем стили и скрипты, поэтому мы добавляем wp_enqueue_scripts в одинарных кавычках, за которыми следует запятая, а затем имя, которое мы дали всей нашей функции.

Если вы хотите, чтобы ваш скрипт загружался в подвале сайта, используйте значение true в конце строки. Значение false – это значение по умолчанию, при котором скрипт загружается в секции head.

Например

Для большинства пользователей WordPress — это черный ящик. Вы помещаете Read more

Понимание того, как использовать функцию wp_query может поднять ваши навыки Read more

В моей последней статье я писала о создании пользовательских типов Read more

Эта статья научит вас, как реализовать пользовательские типы записей WordPress. Read more

Как вставить исполняемый PHP код в WordPress?

Здравствуйте, дамы и господа! Сегодня мы рассмотрим с вами как правильно добавлять/вставлять в functions.php WordPress код PHP, то есть, безопасным и практичным способом. Не спешите редактировать файл functions.php. Есть гораздо более безопасные способы вставки своего кода в данный файл. В этом руководстве я покажу вам простой способ добавить / вставить собственный PHP код WordPress. Без редактирования файла functions.php и не нарушая работу вашего сайта WP (ВордПресс).

Как вставить PHP код в functions.php WordPress

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

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

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

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

Файл functions.php WordPress

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

Файл WordPress functions.php является одним из наиболее важных файлов любой установки WordPress. Он может контролировать большую часть функциональности и поведения вашего сайта. Этот файл может быть использован для добавления ваших собственных фрагментов кода в WordPress. Файл functions.php WordPress вы можете найти в Внешний вид - Редактор тем:

Файл functions.php загружается при каждом запросе любой страницы в WordPress

Вы можете использовать functions.php для добавления любых функций на ваш сайт (как это делают плагины). Однако новички часто не знают, как безопасно добавлять код в functions.php в WordPress. Обычно в статьях по WordPress вы найдете фрагменты кода с инструкциями (из уроков без плагина) по вставке их в файл functions.php темы или в плагин для конкретного сайта напрямую. Мол "необходимо будет вносить правки в файл функции темы сайта (functions.php)". Так делать не рекомендуется.

Как правильно редактировать functions.php в WordPress

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

Безопасное добавление фрагментов кода в файл functions.php с помощью бесплатных плагинов.

Как добавить / вставить PHP код в WordPress

Универсальный способ добавить код в functions.php WordPress — это использовать плагин My Custom Functions, Code Snippets или создать собственный. Они решают задачу интеграции PHP функций, и добавляют их так, будто они были написаны в файле темы functions.php. При этом ни обновление темы, ни даже её изменение на новую, данную интеграцию не нарушают.

My Custom Functions - плагин WordPress

Что в переводе означает - Мои пользовательские функции. Незаменимый инструмент для авторов и владельцев сайтов. Простой в использовании плагин WordPress с интуитивно понятным интерфейсом. My Custom Functions даёт вам возможность легко и безопасно добавлять свой собственный PHP-код на ваш сайт WordPress прямо из админ панели WordPress. Расширение переведён на русский язык. Скачали более 769 063 раз.

Как правильно добавить свой код в functions.php

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

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

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

Установка плагина My Custom Functions

Установите "Мои пользовательские функции" так же, как и любой другой плагин WordPress. Автоматически через админку WordPress. Плагины - Добавить новый. Найдите плагин через поиск. Установите и активируйте его:

Плагин для добавления кода в functions.php

После установки и активации в разделе Настройки появится пункт PHP Inserter. Кликните по нему, откроется страница настроек плагина My Custom Functions:

Как добавить PHP код в functions php темы

На странице плагина вы найдете редактор кода на базе CodeMirror. Этот редактор кода имеет такие параметры, как выделение синтаксиса, нумерация строк и многое другое.

Вставка кода PHP в WordPress

Чтобы добавить свой собственный PHP-код на свой веб-сайт, просто выполните следующие действия: на вкладке Главная, вставьте свой собственный код PHP в поле редактора.

Как добавить PHP код на сайт WordPress

Установите переключатель в положение ON (Включить) и нажмите кнопку "Сохранить изменения". Наслаждайтесь результатом применения вашего собственного кода PHP. Это так просто! Да, если будите добавлять ещё один код, тогда сделайте один пробел после первого и вставляйте следующий.

Можно ли использовать код HTML / CSS / JS, интегрированный в код PHP? Да, можно. Но делать это нужно правильно, вот так:

Пока не забыл, поделюсь. На скриншоте добавлена функция только один логин на пользователя. Для чего это?

У вас есть сайт WordPress на основе платной подписки (членство)? И пользователи могут делиться своей учетной записью со своими друзьями или кем угодно, что делает ее для них бесплатной. Но вы этого не желаете.

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

Для этого PHP код:

Переходим к следующему плагину. Он мне нравится больше и я его использую на двух моих блогах. Шикарный модуль.

Плагин Code Snippets (фрагменты кода)

Code Snippets - это понятный и простой способ запускать фрагменты кода PHP на вашем сайте. Это устраняет необходимость добавлять в ручную пользовательские фрагменты в functions.php файл вашей темы. Более 1 704 005 установок.

Безопасное добавление фрагментов кода в файл Functions.php

Плагин Code Snippets позволяет использовать на своём сайте сниппеты кода (хуки, хаки и другие), не редактируя файлы темы functions.php. Такой метод имеет много преимуществ – при обновлении темы код пользователя не теряется, нет необходимости в создании дочерних тем, хаки работают на любой теме.

Code Snippets предоставляет графический интерфейс, аналогичный меню Plugins, для управления сниппетами. Фрагменты можно активировать и деактивировать, как и плагины. Редактор фрагментов включает поля для имени, описание с поддержкой визуального редактора, теги, позволяющие категоризировать фрагменты, и полнофункциональный редактор кода.

Установка плагина Code Snippets

Первое, что вам нужно сделать, это установить и активировать плагин Code Snippets на своем сайте. Как обычно, устанавливаем стандартным способом. Плагины - Добавить новый. Вводите его название в поле поиска. Пару раз нажимаем Установить и Активировать:

Добавление пользовательских фрагментов кода в WordPress

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

  • Как добавить HTML шорткод.
  • Как добавить CSS шорткод.
  • Как добавить код JavaScript на сайт WordPress.

Они все деактивированы. Не удаляйте их. Они могут пригодится вам в качестве инструкции, как встроить HTML, CSS и JavaScript в PHP код:

Как добавить фрагменты кода в файл Functions.php в WordPress

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

Этот плагин предоставляет графический интерфейс для управления сниппетами, что упрощает добавление кода.

Как добавить фрагменты PHP кода в functions.php WordPress

Кликните на пункт Добавить новый. Для добавление сниппета нужно заполнить поля названия и кода. Обязательно укажите заголовок для фрагмента кода. Таким образом, вы сможете легко идентифицировать коды в будущем:

Добавление пользовательских фрагментов кода в WordPress

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

Плагин помогает вставлять код в файл functions.php

После этого, нажмите Сохранить изменения и активировать. Будьте внимательны, перед добавление сниппета убедитесь в том, что он является корректным PHP кодом, и не приведет к сбоям. Хотя добавляемый Snippets сразу не активизируется, это поможет сократить вероятность включения не исправного сниппета в будущем.

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

Прежде чем активировать сниппеты, убедитесь, что они не содержат ошибок

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

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

Если нужно добавить на сайт свои пользовательские функции, но при этом вам не хочется устанавливать предложенные готовые модули или разбираться с дочерними темами, то сделать это можно при помощи своего личного плагина. Создаём плагин — отдельный файл функций для сайта WP. Создайте файл с кодом:

Сохраните данный файл в формате PHP с уникальным названием например, my-functions.php и загрузите его в директорию wp-content/plugins. Никакая пара используемых плагинов не должна иметь одинаковое имя файла. Далее перейдите в раздел Плагины в панели администрирования WordPress и просто активируйте его:

Как создать свой плагин к файлу functions.php

Обратите внимание, что имя плагина будет таким, которое прописано в информационном заголовке Plugin Name: Моя альтернатива файлу functions.php . Естественно вы можете изменить его, в созданном файле, на своё. Всё.

А давайте создадим настоящий плагин как положено, со стандартной информацией о нём:

Как сделать плагин? Отдельный файл функций my-functions.php

Редактировать и вносить изменения в созданный плагин можно прямо из админки. Плагины - Редактор плагинов. Выбираете по названию например, My Custom Functions:

Редактирование своего модуля My Custom Functions

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

В PHP functions.php помещается функционал, необходимый вашей теме и который не относится лишь к конкретному шаблону.

В Кодексе WordPress дается следующее определения файла функций:
Файл functions.php ведет себя, как плагин, добавляя функции и функционал на WordPress- сайт. Его можно использовать для вызова как PHP-функций, так и встроенных функций WordPress, для определения собственных функций. Можно получить тот же результат, добавив код в плагин WordPress или в файл functions.php темы WordPress.

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

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

Общее использование файла функций

Когда использовать functions.php :

Добавление кода в файл функций и его активация

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

Создание файла функций

Если ваша тема не содержит functions.php , его нужно создать в корневом каталоге. Затем нужно добавить в файл открывающийся тег PHP , но закрывать его не нужно:

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

Добавление кода в файл functions.php

Рассмотрим некоторые часто используемые функции.

Добавление поддержки темы

В WordPress есть определенные PHP static function , для которых нужно добавить поддержку темой, чтобы воспользоваться ими:

Таким образом, чтобы добавить, например, поддержку темы для форматов записей, необходимо использовать функцию add_theme_support() :

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

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

Но ничего из этого не сработает, если вы не поместите свой код внутри функции и не привяжете к соответствующему хуку действия after_setup_theme . Можно добавить все функции add_theme_support() внутри одной более крупной функции, которую вы затем привяжете к after_setup_theme . Поэтому, если вы хотите добавить поддержку темой миниатюр записей, форматов записей, HTML5 и автоматических ссылок на каналы, добавьте следующий код в файл функций:

Добавление файла перевода

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

С помощью private function PHP load_theme_textdomain() в файле функций укажите WordPress , где размещается файл перевода:

Эта функция использует функцию get_template_directory() , чтобы найти папку темы, а затем ищет в папке languages файл, начинающийся с wpmu-theme . Поэтому путь будет wp-content/themes/mytheme/languages/ , а имя для файла языка начинается с wpmu-theme , за чем следует код языка.

В файле functions.php также регистрируются меню навигации. Во многих темах есть флажок « Основное меню », который можно установить в разделе « Меню ». Это дает возможность использовать меню в определенном месте темы. Чтобы реализовать подобный функционал, нужно использовать функцию register nav menus() :

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

Нужно добавить код меню в файл sidebar.php темы, используя функцию wp_nav_menu() .

Подведем итоги

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

Можно создать одну большую функцию:

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

Включение файлов

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

Создайте в своей теме папку под названием includes , а затем добавьте в нее отдельные файлы PHP для каждого блока кода, который нужно отделить. Например, если нужно было переместить настройку темы в другой файл, я бы переместила весь приведенный выше код в файл с именем theme_setup.php , а затем вызвала его в functions.php :

Данный код вызывает код включаемого файла, а затем запускает его в том месте functions.php , в котором я добавила функцию include() . Обычно я помещаю все включаемые файлы в начале файла функций, чтобы их было легко найти.

Работа с родительскими и дочерними темами

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

Существует три способа переопределения или добавления функций в дочернюю тему:

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

Рассмотрим каждый из способов.

Подключаемые функции

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

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

Деактивация функций

Чтобы деактивировать функцию, открепите ее от действия или фильтра, к которому она привязана. Например, если в родительской теме есть функция parent_function() , которая активируется с помощью хука init , можно деактивировать ее в дочерней теме следующим образом:

Это будет означать, что данная функция WordPress functions PHP больше не будет выполняться. Затем, если вы хотите иметь разные функции в дочерней теме, можно написать новую функцию. А затем привязать ее к тому же хуку, но не задавать для нее то же имя.

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

Использование приоритета функции

Допустим, что родительская тема содержит функцию parent_function() , которая активируется с помощью хука init с приоритетом 20 :

Можно написать функцию, которая переопределит родительскую функцию, а затем привязать ее к хуку init с более высоким приоритетом, например 30 :

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

Файл PHP function темы работает очень похоже на плагин, но он специфичен для конкретной темы. Поэтому необходимо использовать его только для того, чтобы добавить функционал, который может быть отключен при активации другой темы. В этой статье вы узнали, для чего используется файл функций темы. Работайте с functions.php осторожно, избегайте его использования, когда все что нужно можно сделать с помощью плагина.

Пожалуйста, опубликуйте ваши отзывы по текущей теме материала. Мы очень благодарим вас за ваши комментарии, подписки, отклики, лайки, дизлайки!

Пожалуйста, оставляйте ваши отзывы по текущей теме статьи. За комментарии, дизлайки, отклики, подписки, лайки огромное вам спасибо!

Плагины и Шаблоны для Wordpress

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

Рано или поздно, внося изменения или создавая свою новую тему, Вы столкнетесь с тем, что нужно будет подключить файл внутри темы. Например, у Вас есть файл index.php, отвечающий за вывод главной страницы. В какой-то момент, вы решили добавить туда какую-то функцию или условие. Код с этой функцией очень большой и Вы решили его добавить в отдельный файл. Или Вы решили не писать код цикла в каждом файле где он встречается, а он бывает в большей половине файлов темы Вордпресса. index.php, search.php, category.php, archive.php и тд. Чтобы каждый раз не повторять один и тот же код, вы можете его добавить в отдельный файл, а уже его и подключить внутри тех, где должен быть цикл.

Многие для подключения файлов используют PHP функцию include(). Не буду лукавить, я и сам по началу тоже ее использовал. Но набирая опыт и все больше изучая материал я открыл очень полезную функцию, которой и поделюсь с Вами.

Плагины и Шаблоны для WordPress

get_template_part() - функция WordPress, которая применяется для подключения файлов или частей темы в самой теме. Давайте рассмотрим пример, как можно ее применить.

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

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

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

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

Бывает и так, что нужно подключить файл, который лежит в отдельной папке внутри темы. Например, я часто использую вложенные папки для файлов, которые подключаю, чтобы они не мешались с основными файлами темы. Например, что файл content.php лежит в папке inc, которая расположена в папке с темой. Тогда, подключение выглядит следующим образом:

Ну или для content-loop.php:

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

Данная функция намного удобнее include(). В ней не нужно указывать путь к папке с темой. Я рекомендую использовать get_template_part() при создании тем и надеюсь, что материал данной статьи Вам поможет.

На этом все, спасибо за внимание. 🙂

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

Читайте также: