私はVisual Composerを使用している私の単語のプレスにテーマをインストールしました。しかし、それをインストールした後、テーマはVisual Composerのいくつかの要素を無効にしていることがわかりました。終了した後、これらの要素を削除するために実行中のファイルが見つかりました。Wordpress親テーマから関数をオーバーライド
私はこの機能を無効にするために子供のテーマを作成しましたが、運がありません。
元の関数はこのように書き:
if (! function_exists('remove-elements-from-vc')) {
function remove-elements-from-vc() {
/*** Remove Grid Elements if grid elements disabled */
vc_remove_element('vc_basic_grid');
vc_remove_element('vc_media_grid');
vc_remove_element('vc_masonry_grid');
vc_remove_element('vc_masonry_media_grid');
vc_remove_element('vc_icon');
vc_remove_element('vc_button2');
vc_remove_element("vc_custom_heading");
/*** Remove unused parameters from grid elements */
if (function_exists('vc_remove_param')) {
vc_remove_param('vc_basic_grid', 'button_style');
vc_remove_param('vc_basic_grid', 'button_color');
vc_remove_param('vc_basic_grid', 'button_size');
vc_remove_param('vc_basic_grid', 'filter_color');
vc_remove_param('vc_basic_grid', 'filter_style');
vc_remove_param('vc_media_grid', 'button_style');
vc_remove_param('vc_media_grid', 'button_color');
vc_remove_param('vc_media_grid', 'button_size');
vc_remove_param('vc_media_grid', 'filter_color');
vc_remove_param('vc_media_grid', 'filter_style');
vc_remove_param('vc_masonry_grid', 'button_style');
vc_remove_param('vc_masonry_grid', 'button_color');
vc_remove_param('vc_masonry_grid', 'button_size');
vc_remove_param('vc_masonry_grid', 'filter_color');
vc_remove_param('vc_masonry_grid', 'filter_style');
vc_remove_param('vc_masonry_media_grid', 'button_style');
vc_remove_param('vc_masonry_media_grid', 'button_color');
vc_remove_param('vc_masonry_media_grid', 'button_size');
vc_remove_param('vc_masonry_media_grid', 'filter_color');
vc_remove_param('vc_masonry_media_grid', 'filter_style');
vc_remove_param('vc_basic_grid', 'paging_color');
vc_remove_param('vc_basic_grid', 'arrows_color');
vc_remove_param('vc_media_grid', 'paging_color');
vc_remove_param('vc_media_grid', 'arrows_color');
vc_remove_param('vc_masonry_grid', 'paging_color');
vc_remove_param('vc_masonry_grid', 'arrows_color');
vc_remove_param('vc_masonry_media_grid', 'paging_color');
vc_remove_param('vc_masonry_media_grid', 'arrows_color');
}
}
add_action('vc_after_init', 'remove-elements-from-vc');
}
そして、これは私がのfunctions.phpに私の子供のテーマでやろうとしているものです:
add_action('vc_after_init', 'undo-remove-elements-from-vc');
function undo-remove-elements-from-vc(){
remove_action('vc_after_init', 'remove-elements-from-vc');
}
これを引き起こしている機能アクションは "visual-composer-config.php"というファイルにあり、 "load.php"という兄弟ファイルからロードされています。
if (visual_composer_installed()) {
include_once ELATED_FRAMEWORK_MODULES_ROOT_DIR.'/visualcomposer/visual-composer-functions.php';
include_once ELATED_FRAMEWORK_MODULES_ROOT_DIR.'/visualcomposer/visual-composer-config.php';
}
後でテーマを更新した場合に元のテーマコードを編集したくない場合は、変更が削除されます。だから私は子供のテーマから解決策を見つける必要があります。
おかげ
あなた 'remove_action'呼び出し中の関数名は、独自の関数名、ではないからです親テーマ...それは 'remove-elements-from-vc'であるべきです – naththedeveloper
待ってください...関数名でもダッシュが効きますか? – naththedeveloper
私は間違った関数名をここに書きました。私は正しい関数を呼び出した元のファイルにあります。 – Joey