我正在制作一个插件,该插件应为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
,但是如果我尝试使用此建议,则插件将无法正常工作。
我的代码有什么问题?还是我缺少一些细节?我不知道。