Di21H
@Di21H
Обычный человек

WordPress: я вписываю весь нужный код в functions.php. Правильно ли это?

Кароче использую Elementor холст+самодельные шорткоды. И весь функционал этих шорткодов вписываю в конец functions.php. Это нормально?
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 4
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Говнокод, но да.

Файл functions.php - это просто обычный php-файл, который подключается на определенном этапе работы движка и весь код в нем выполняется. Все кастомизации можно тулить туда. Разумно ли это - другой вопрос, и уже выходит за рамки ответа "да / нет". Если кода много, то стоит задуматься о его организации. По простой логике, функциональность принято делить на отдельные классы, в случае с WP это часто просто отдельные файлы. Я лично предпочитаю в самом functions.php определять только то, что вешается на хук after_setup_theme, а дальше идет просто автолоадер всего остального или инклуды других файлов, которые размещены в theme_dir/inc
Ответ написан
ya-vitaliy
@ya-vitaliy
Верстаю... + wordpress и пробую Laravel
Лучше так не делать, непонятно же ничего, у меня обычно так:
<?php
require_once 'assets/theme_setup.php';
require_once 'assets/helpers.php';
require_once 'assets/post_types.php';
require_once 'assets/shortcodes.php';
require_once 'assets/ajax.php';
if (is_admin())
	require_once 'assets/admin_panel_functions.php';
Ответ написан
Комментировать
alex-1917
@alex-1917
Если ответ помог, отметь решением
Если у вас этот файл превратился в простыню на 10 экранов и приходится его резать на кусочки, как тут некоторые советуют, это первый признак, что что-то пошло не так)))
Ответ написан
san_jorich
@san_jorich
Творческий кодер
Нет, не правильно. Не нормально. По многм причинам. (Обновление системы, Обновление темы итд)
Что мешает вам создать файлик в plugins ?
Your Mega Shortcodes Plugin
<?php /*
Plugin Name: My Mega-Sortcodes Plugin
Plugin URI: https://toster.ru/q/587001
Description: Плагин с моим шоткодами
Version: 1.2.3
Author: Dias Oral
*/

/* Подключение шоткод функций  */
function first_shortcode_example(){
echo 'this is my shortcode motherfuckerfunction !';
}
add_shotcode('first_shortcode_example','first_shortcode_example');
?>

Старайтесь делать Ваши решения максимально независимыми от обстоятельств.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы