Как безопасно добавить код на WordPress сайте?
Вероятно, вам не раз хотелось подправить функционал какого-либо плагина, добавить сниппет кода или изменить стили своего WordPress сайта. Но, дело в том, что многие пользователи изменяют что-то таким образом, что эти изменения не сохраняются надолго. Например, нельзя изменять что-либо прямо в родительской теме, так как все добавленное слетает при обновлении темы (тоже касается и плагинов).
Некоторые пользователи по этой причине не обновляют темы и плагины, но это сложно назвать хорошей стратегией, потому что в апдейтах исправлены баги или проблемы безопасности, а также появляются новые полезные функции.
Вместо того, чтоб вносить такие изменения, которые не выдержат проверку временем и ресурсными затратами, вы можете использовать способы, которым не страшны апдейты, и спокойно добавлять свои (кастомные) коды к WordPress сайтам или изменять их, как вам угодно.
Чего делать не следует!
Прежде чем вы получите апробированные методы, давайте поговорим о том, чего не нужно делать.
Если вы используете плагин или тему, вы не захотите модифицировать это напрямую. Скажем, я хочу изменить какой-либо текст, выводимый плагином. Я могу просто изменить функцию, которая выводит этот текст по средством плагина, но все это обнулится при очередном обновлении расширения. Если вы что-то поменяли подобным образом, то результат будет очень сложно сохранить.
Также вам могут посоветовать, добавлять что-то прямо в ваш файл functions.php, но если этого можно избежать, то так и делайте. Вы можете воспользоваться трюками, приведенными ниже, чтоб создать или использовать плагин, но лучше всего не касаться этими изменениями файла functions.php. Кроме того никогда не нужно использовать functions.php вашей родительской темы — создайте дочернюю.
И наконец, если вы должны добавить префикс в любую функцию, то добавьте кастомный код. Например, скажем, я хочу добавить код к SkyVerge.com. В этом случае, я обычно добавляю skyverge_ prefix к названиям функций, чтоб быть уверенным в том, что не будет конфликтов с другими функциями, которые присутствует в моей теме или плагине.
А сейчас давайте поговорим о том, как добавить кастомный код, который переживет не один апгрейд вашего сайта.
Добавление кастомного кода в WordPress-сайты
1. Использование кастомного плагина
Кастомный плагин — это отличный способ добавить ваши кодовые сниппеты, так как он позволяет сохранить эти вставки, даже если вы изменяете темы, а также активировать их или дезактивировать при необходимости.
Каждый может использовать такие плагины на своем сайте, так как они очень просты и состоят всего из нескольких компонентов.
Прежде всего мне нужно создать папку и назвать ее так, как я хочу назвать свой будущий плагин: что-то типа skyverge-shortcodes (используйте черточку, а не пробел).
Затем нам понадобится главный файл для нашего плагина. Сюда нужно включить название плагина, его описание и базовую информацию. Мы также добавим строчку кода, чтоб обезопасить наш плагин от несанкционированного доступа. И назовем это skyverge-shortcodes.php или так, как хотите вы. PHP — это язык, на котором написан WordPress, так что мы добавляем это расширение, чтоб сказать движку, какой язык используется.
Создайте этот файл, используя редактор типа NotePad, NotePad ++, Text Wrangler или TextEdit. Не используйте что-то на подобии Microsoft Word, который добавляет форматированные данные к тексту. Все перечисленные редакторы — бесплатны, к тому же если у вас установлена операционная система Windows, у вас уже есть NotePad (хотя NotePad++ — лучше), а Маки идут с предустановленным TextEdit, хотя я предпочитаю Text Wrangler.
Вот, что мы должны добавить в наш файл:
<?php /** * Plugin Name: SkyVerge Shortcodes * Plugin URI: https://www.skyverge.com/shortcodes/ * Description: Adds custom shortcodes to SkyVerge websites. * Author: SkyVerge * Author URI: https://www.skyverge.com/ * Version: 1.0 * Text Domain: skyverge-shortcodes * * Copyright: (c) 2012-2014 SkyVerge, Inc. (spam@skyverge.com) * * License: GNU General Public License v3.0 * License URI: http://www.gnu.org/licenses/gpl-3.0.html * * @author SkyVerge * @copyright Copyright (c) 2012-2014, SkyVerge, Inc. * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 * */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
Затем ниже этого добавьте свой кастомный код — вам не нужно добавлять закрывающие PHP-теги в конец этого документа. Название плагина ,URL, его описание и автор отобразятся в списке «Плагины» в вашей админке. Вы можете заменить SkyVerge-информацию своей собственной.
Как только вы добавили кастомный код в ваш новенький плагин, то можете запаковать его в zip-архив и загрузить на ваш сайт. В дальнейшем, используя FTP, вы сможете удалять, передобавлять или переписывать код.
Вот вам основа для любого простого плагина, которую можно отредактировать, запаковать в архив и загрузить на сайт.
[ddownload id=»20787″]2. Использование плагина Code Snippets
Плагин Code Snippets— это замечательный способ добавить кастомный код к WordPress-сайтам, и он намного проще, чем создание нового плагина. У этого плагина такое же назначение, что у созданного выше собственного расширение — кастомный код добавляется без использования вашей темы с возможностью проводить все необходимые обновления.
На вашем сайте появится новое меню “Snippets”, которое позволит вам добавлять новые сниппеты. Для каждого сниппета можно вбить код и дополнительную информации о том, что именно он делает(если я нахожу на каком-либо сайте полезный сниппет, я использую описание, чтоб также добавить URL, чтоб помнить откуда он).
Теперь вы может включать или отключать ваши сниппеты, как плагины, а также экспортировать их в виде PHP-файлов. Иногда кастомные сниппеты конфликтуют с плагинами или темами, так что если появилась проблема, вы можете деактивировать все кастомные коды и найти ее.
3.Используйте файл Functions.php вашей дочерней темы
Это лучшее решение для кодов, которые нужно вставить прямо в вашу тему, а не в плагин, типа WooCommerce. Это тот случай, когда кастомный код убирается вместе с вашей темой, так как в нем больше нет нужды. Но в любом случае, если вы хотите обновлять темы, то необходимо внедрять все коды только в дочерние темы.
Чтоб вы могли начать работу, вот вам шаблон дочерней темы, который содержит файл functions.php. Скачайте его и распакуйте, а затем измените файл style.css, следуя инструкциям вашего редактора (вероятно, если вы сделаете правый клик, то увидите команду типа «открыть с» для использования правильной программы). Вам нужно будет вбить название шаблона и импортировать URL, чтоб отобразить информацию о вашей родительской теме.
[ddownload id=»20790″]В заключение
Убедитесь в том, что будущий ВЫ уважает ВАС прошлого — никогда не усложняйте процесс обновления сайта. Правильно добавляйте кастомные коды и спокойно переходите от темы к теме, быстро устраняя баги, если таковые появляются.
Еще по теме:
Дочерняя тема WordPress
Общие правила добавления своего кода на сайт