WordPress子主题覆盖父主题包括


WordPress child theme override a parent theme include

我正在创建一个WordPress子主题,需要覆盖某些小部件模板。我正在尝试使用此方法覆盖父主题调用:覆盖主题函数的正确方法。

但是,我目前收到此错误:

致命错误:无法重新声明 hickory_homepage_load_widget() (之前在 C:''wamp''www''greenpeaceNewBlog''wp-content''themes''gp-blog''inc''widgets''homepage_widget.php:8) 在 C:''wamp''www''greenpeaceNewBlog''wp-content''themes''hickory''inc''widgets''homepage_widget.php 在第 10 行

父主题函数.php像这样调用模板:

include("inc/widgets/homepage_widget.php");

homepage_widget.php文件包含以下内容:

add_action( 'widgets_init', 'hickory_homepage_load_widget' );
function hickory_homepage_load_widget() {
    register_widget( 'hickory_homepage_widget' );
}

我有一个子主题重复小部件目录(stylesheet_directory/inc/widgets/..)和一个子主题函数.php。在我的子函数.php中,我写了这个:

// Remove the default Thematic blogtitle function
function remove_hickory_widgets() {
    remove_action('widgets_init', 'hickory_homepage_load_widget');
}
// Call 'remove_thematic_actions' (above) during WP initialization
add_action('init','remove_hickory_widgets');
include("inc/widgets/homepage_widget.php");

请帮忙:)

干杯

试试这个

add_action( 'init', 'remove_hickory_widgets' );
function remove_hickory_widgets() {
    remove_action('widgets_init', 'hickory_homepage_load_widget' );
    add_action( 'init', 'custom_widgets' );
}
function custom_widgets(){
    // your widget code here
}