Я создаю плагин, который должен создать новый компонент для WP Bakery, как следующий код:
// Componente do WP Bakery
add_action('vc_before_init', function () {
vc_map([
'name' => 'Formulário do Catálogo de Cursos',
'base' => 'vc_download_catalog_form',
'category' => 'Cursos',
'icon' => 'https://image.flaticon.com/icons/svg/1042/1042360.svg',
'params' => [
[
'type' => 'textfield',
'heading' => 'ID de âncora',
'param_name' => 'anchor',
'group' => 'Âncora',
'std' => 'formularioDeDownloadDeCatalogoAncora',
],
[
'type' => 'css_editor',
'heading' => 'CSS',
'param_name' => 'css',
'group' => 'Design',
],
]
] );
});
// Configuração de shortcode
add_shortcode('vc_download_catalog_form', function ($atts) {
$atts = shortcode_atts([
'anchor' => 'formularioDeDownloadDeCatalogoAncora',
'css' => '',
], $atts, 'vc_download_catalog_form');
$atts['css'] = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class($atts['css'], ' '), 'vc_download_catalog_form', $atts);
return unasp_include_template(__DIR__ . '/catalog_form.template', $atts);
});
Шорткод добавляется без проблем.Однако этот компонент не появится в окне компонентов WP Bakery.Если я изменю vc_before_init
на init
, он будет работать как положено.
Я не знаю, почему именно vc_before_init
рекомендуется использовать при регистрации компонентов, но если я попытаюсь использовать эторекомендация, плагин не будет работать должным образом.
Что не так с моим кодом?Или я упускаю некоторые детали?Я не могу понять.