Почему не следует добавлять свой код в functions.php и что делать

Почему не следует добавлять свой код в functions.php? Почему я затронул эту тему?
Всё очень просто. Очень часто я вижу на просторах сети советы, типа "добавьте этот код в файл functions.php своей темы и будет %то, что вы гуглили%". Это является очень частым ответом, меняется лишь код, который нужно добавить. И это является наиболее частой ошибкой новичков которым так или иначе пришлось работать с wordpress
Так можно делать только если соблюдаются эти два условия:
- Если вы НЕ собираетесь переключаться на другую тему вообще, прямо совсем.
- Если на эту тему НЕ выходят обновления, прямо совсем.

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

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

Ниже я покажу на примере, как всё делается.

Как сделать через mu-plugins


Открываем папку wp-content в корне вордпресса и ищем папку mu-plugins. Скорее всего, её просто не будет. Её можно просто создать, вп сам её "подхватит" вместе с содержимым.
В этой новосозданной папке mu-plugins можно создать файл с абсолютно любым названием, пусть это будет, например, mycustomcode.php.
В сам файл можно просто брать и писать свои части кода. Только тег PHP открыть. Т.е. как-то вот так:

<?php
//Здесь ваш код

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

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


У этого метода есть свои плюсы. Можно например выключить свой участок кода который вы хотели загнать в functions через админку. А потом включить обратно. И снова выключить.
А ещё, можно редактировать ваш кастомный код прямо через админку, прямо как functions.php. Достаточно лишь нажать кнопку "Изменить" на странице плагинов.

Создаётся такой плагин так:
Открываем папку wp-content, потом папку plugins в которой создаём любую папку. Желательно с таким названием, которое точно не сможет как-то пересечься с каким-нибудь другим плагином. Я создам папку evilcoder-custom-code. Вы можете придумать своё название.
В этой папке создайте обычный index.php, в котором нужно прописать "шапку" плагина, а уж после ваш код.

<?php
/**
 * Plugin Name: evilcoder-custom-code
 */

//Здесь ваш код

Всё. Сохраняем, активируем в админке - готово.

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