Описание woocommerce_loaded
— Action
Хук woocommerce_loaded срабатывает после полной загрузки всех компонентов WooCommerce. Он позволяет выполнять действия, которые требуют полной инициализации плагина, такие как добавление пользовательских функций или изменение поведения WooCommerce
Примеры использования
Пример регистрации пользовательского типа товара после загрузки WooCommerce:
add_action('woocommerce_loaded', function() {
register_post_type('custom_product', array(
'labels' => array(
'name' => 'Кастомные товары'
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail')
));
});
В этом примере мы регистрируем новый тип товара ‘custom_product’ после полной загрузки WooCommerce
Пример добавления пользовательских полей к товарам:
add_action('woocommerce_loaded', function() {
add_action('woocommerce_product_options_general_product_data', function() {
woocommerce_wp_text_input(array(
'id' => 'custom_field',
'label' => 'Кастомное поле',
'desc_tip' => true,
'description' => 'Введите значение кастомного поля'
));
});
});
Здесь мы добавляем кастомное поле на страницу редактирования товара в админке
Пример изменения настроек WooCommerce:
add_action('woocommerce_loaded', function() {
if (get_option('woocommerce_some_setting') === 'old_value') {
update_option('woocommerce_some_setting', 'new_value');
}
});
В этом примере мы проверяем и изменяем настройку WooCommerce, если она имеет старое значение
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо добавить или изменить функциональность WooCommerce после его полной загрузки
– Производительность
Избегайте тяжелых операций внутри этого хука, так как они могут замедлить загрузку страниц
– Предупреждения
Убедитесь, что код, который вы добавляете, не конфликтует с другими плагинами или темами
Альтернативы
Тип: action
Этот хук срабатывает раньше, чем woocommerce_loaded и может быть использован для инициализации настроек
Используйте его, если нужно выполнить действия до полной загрузки WooCommerce