我正在使用Visual Composer(WPBakery)在Wordpress网站上工作。
例如,我必须在插件的核心中修改一些类,
我修改了此类: WPBakeryShortCode_VC_Tta_Section
问题是我不得不修改插件核心(shortcodes / vc-tta-section.php)中的功能。
我没有找到任何解决方案来覆盖Visual Composer类。即使我扩展了该类并添加了自己的代码,我也必须调用自己的类,但是在代码中没有找到任何可以帮助我修改基类的内容,将 WPBakeryShortCode_VC_Tta_Section 用作> WPBakeryShortCode_VC_Tta_Section_CUSTOM 。
感谢您的帮助
答案 0 :(得分:0)
[1] 创建目录-wp-content/my-plugins
[2] 创建文件wp-content/mu-plugins/my-ext-js-composer.php
[3] 然后复制您的简码文件
来自:
wp-content/plugins/js_composer/include/classes/shortcodes/any-shortcode-file-you-want-to-modify.php
至
wp-content/themes/your-theme/includes/plugins/js-composer/that-file.php
[4] 然后根据需要修改than-file.php
[5] ,然后将此条件添加到您自己的vc_path_dir
函数中
[6] 然后复制文件
来自
wp-content/plugins/js_composer/vc_classmap.json.php
收件人
wp-content/themes/your-theme/configs/plugins/js-composer/vc_classmap.json.php
[7] 然后输入vc_classmap.json.php
(您的主题文件)
用您的简码删除部分。
F (如果您的简码文件)
您要修改的任何短代码文件是 vc-tta-section.php
然后删除json文件的一部分:
"wpbakeryshortcode_vc_tta_section":["include\/classes\/shortcodes\/vc-tta-accordion.php","include\/classes\/shortcodes\/vc-tta-section.php"]
那你就可以做到
然后,写到my-ext-js-composer.php
<?php
function vc_path_dir( $name, $file = '' ) {
switch ( true ) {
case ( 'SHORTCODES_DIR' === $name && 'any-shortcode-file-you-want-to-modify.php' === $file ):
return get_stylesheet_directory() . '/includes/plugins/js-composer/that-file.php';
case ( 'APP_ROOT' === $name || 'vc_classmap.json.php' === $file ):
return get_stylesheet_directory() . '/configs/plugins/js-composer/vc_classmap.json.php';
break;
}
return vc_manager()->path( $name, $file );
}
F.e-您可以通过这种方式修改的简码文件列表
vc-section.php
vc-icon.php
vc-button.php
...等等