Почему это предпочтительный вариант, чтобы изменения функций WooCommerce помещались в файл 'function.php' темы? Сверхурочная работа сделала бы файл довольно большим. Я понимаю, что лучше всего иметь множество хорошо организованных небольших файлов, а не меньше файлов.Могу ли я изменить функции WooCommerce в файле «wc-template-functions.php» или мне следует использовать файл «functions.php» для таких изменений?
Имея это в виду, что не так с копированием файлов wc-template-functions.php и wc-templates-hooks.php в вашу тему (сохраняя при этом иерархию файлов) и соответственно изменяя эти файлы ?
В качестве побочного запроса от родственника-новичка на платформе WooCommerce, я был бы признателен, если бы смог получить «Да, это работает» или «Нет, я пропустил что-то», ответ на мое понимание того, как WooCommerce; файлы, крюки, действия и шаблоны все работают с одной и другим
моего понимания:
- WooCommerce функция регистрируется в файл «туалет-шаблон functions.php». Для целей этого объяснения я хотел бы обратиться к записи
woocommerce_breadcrumb
. - WooCommerce затем использует файл wc-templates-hooks.php для вызова зарегистрированной функции, используя типичную запись, такую как
add_action('woocommerce_before_main_content','woocommerce_breadcrumb', 20, 0);
. Это просто направляетwoocommerce_breadcrumb
, который вызывается в пределах крюкаwoocommerce_before_main_content
. - WooCommerce затем может вывести вышеуказанное, поставив
do_action('woocommerce_before_main_content');
, если необходимо. В этом случае, во всех файлах шаблонов.
Благодарим за руководство и помогаю успокоиться, учитывая мое понимание WooCommerce. Ваше предложение относительно «разделения» файла functions.php будет тем, что я буду рассматривать в ближайшие недели. – Craig
Также имейте в виду, что вещи, которые меняют внешний вид сайта, принадлежат вашей теме (и, следовательно, 'functions.php'). Но код, который изменяет функциональность сайта, лучше всего подходит для его собственного плагина ... или плагина на сайте, который может быть сборником всех ваших «фрагментов». – helgatheviking
У меня пока нет возможности научиться создавать плагины. Хотя мне известно, что считается лучшей практикой размещать такие коды в плагине, что является основной причиной для этого? Связано ли это с совместимостью? Так что, если обновление в WooCommerce и т. Д. Конфликтует с функциональностью темы, вы можете просто деактивировать ее во время выполнения соответствующих изменений? – Craig