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

Просмотров: 16 315

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

Как вставить PHP код в functions.php WordPress
Вставка 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 темы WP

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

Как правильно редактировать functions.php в WordPress
Правки файла functions.php напрямую - не рекомендуется

Проблема в том, что даже малюсенькая ошибочка в пользовательском 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
Плагин для ВордПресс - My Custom Functions

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

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

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

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

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

Плагин для добавления кода в functions.php
Установка и активация плагина My Custom Functions

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

Как добавить PHP код в functions php темы
Страница настроек My Custom Functions

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

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

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

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

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

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

function my_custom_html_code() {

    // Print the custom HTML code
    echo '<script>ВАШ КОД HTML ЗДЕСЬ</script>';

}
add_action( 'wp_head', 'my_custom_html_code' );

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

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

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

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

function only_one_login() {
    $token = wp_get_session_token();
    if ( $token ) {
        $manager = WP_Session_Tokens::get_instance( get_current_user_id() );
        $manager->destroy_others( $token );
    }
}
add_action('init', 'only_one_login');

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

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

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

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

Плагин 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 кода, включать, выключать, редактировать, удалять, клонировать или экспортировать их.

Прежде чем активировать сниппеты, убедитесь, что они не содержат ошибок
Управление созданными фрагментами кода PHP

Как вы можете видеть, очень удобный и шикарный plagin. Не даром он самый популярный в каталоге wordpress.org. И ещё, друзья, если вам нужно лишь вставить небольшой отрывок кода и вы не хотите использовать чужие плагины тогда, рассмотрите простой вариант - создайте свой собственный / личный, коротенький плагин.

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

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

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

<?php
/**
 * Plugin Name: Моя альтернатива файлу functions.php
 */

// Ваш код здесь

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

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

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

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

<?php
/**
	Plugin Name: MCF (My Custom Functions)
	Plugin URI: https://wpmania.ru/
	Description: Свои функции для сайта
	Author: WPMania
	Version: 1.0
	Author URI: https://wpmania.ru/
	Text Domain: mcf
	License: GPL
**/
/* Ниже размещаем код */






/* Далее не размещаем */
?>

Впишите / замените на свои данные. Разместите нужный вам PHP - код в размеченной области. Для удобства загрузите заготовку плагина - Скачать. Установите его как обычно и активируйте. Вот он наш родной:

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

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

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

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

В заключение

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

И да, когда в следующий раз вам попадётся пост о WordPress из серии "как сделать без плагинов", не торопитесь добавлять / вставлять код в файл темы functions.php — может лучше будет данный PHP код хранить именно в виде плагина.


Оставьте комментарий