Как создать плагин для определенного сайта для WordPress

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

Что за плагин такой?

Плагин Site-Specific — это определенное место для добавления сниппетов, которые вы находите на просторах интернета, и эти сниппеты не привязаны к текущему шаблону сайта. Другими словами:

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

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

Почему вам нужен этот плагин

Как уже было сказано, он позволит сохранить ключевые «дополнения» к вашему сайту, которые вы уже нашли и внедрили. Это могут быть, к примеру, Как добавить шорткод в WordPress? или Как перенаправлять пользователей на случайный пост и другие независимые функции, которые напрямую не зависят от шаблона.

Вышеуказанные функции — это то, что вам понадобится в случае если вы решите сменить шаблон, и даже если не решите. Можете представить себе отключение шаблона и потерю всех своих шорткодов? Это будет кошмар! 🙂

При использовании site-specific плагина, у вас получится неубиваемый по части функционала сайта. Если вдруг вы вставите новонайденный сниппет с неверным форматированием, вместо белого экрана смерти WordPress вы получите всего лишь предупреждение от менеджера плагинов о том, что он обнаружил ошибку и отключит плагин. Конечно же, это немного «сломает» ваш сайт на несколько секунд, но вы сразу же можете убрать «плохой» код, и сайт вернется на круги своя.

Это как выбирать меньшее из двух зол: либо вы будете выкинуты из админки и поломаете сайт (из-за неправильного кода в functions.php), либо же вы сломаете сайт, но за пару секунд его и восстановите.

Как сделать такой плагин для своего сайта?

Наверное, думается, что это очень сложно? Неа!

  • Все, что нужно, это создать новую папку в директории с плагинами. Например: /wp-content/plugins/wpincode-plugin/
  • Открыть пустой файл и сохранить его под именем «wpincode-plugin.php»
  • Вставить нижеприведенный код в этот файл:
    <?php
    /*
    Plugin Name: Site Plugin for wpincode.com
    Description: Site specific code changes for wpincode.com
    */
    /* Начинаем добавлять функции под этим комментарием */
    
    
    /* Прекращаем добавлять функции над этим комментарием */
    ?>
    
    
  • Теперь загрузите этот файл в созданную папку в директории plugins на сервере, а затем активируйте плагин через админку

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

VN:F [1.9.22_1171]
Rating: 5.0/5 (4 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
  • Надежда Дьяченко

    Здравствуйте! Очень понравилась Ваша идея сделать плагин, но почему-то никак не могу создать новую директорию в папке «плагины» 🙁 В остальных папках — без проблем получается, в этой -никак! Подскажите чайнику, в чем может быть проблема?

    • ADv

      Здравствуйте. Скорее всего в правах на запись в папку plugins. Выставьте ей например 700. Также, как вариант, вы можете заархивировать в zip-файл созданный вами плагин и установить его через админку.

      • Надежда Дьяченко

        Спасибо! Плагин установить получилось 🙂

  • Евгений Онегин

    После активации плагина, слетает кодировка на сайте включая админку

    • ADv

      Каким текстовым редактором сохраняете? Если Notepad++/Sublime Text — то попробуйте сохранить в кодировке UTF-8 без BOM

      • Евгений Онегин

        Спасибо за совет, пробовал, но как ни странно проблему не решило. Решил вопрос добавлением в .htaccess правила AddDefaultCharset UTF-8

  • Автору респект, фишка нужная, давно искал подобное

  • Дмитро Паламар

    Устанавливается плагин, но не активируется, фатальная ошибка

Scroll To Top