【问题标题】:WordPress child theme override a parent theme includeWordPress子主题覆盖父主题包括
【发布时间】:2013-11-10 08:04:33
【问题描述】:

我正在创建一个 WordPress 子主题并且需要覆盖某些小部件模板。我正在尝试使用此方法覆盖父主题调用:The Right Way to Override Theme Functions。

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

致命错误:无法重新声明 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 行

父主题functions.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/..)和一个子主题functions.php。在我的子functions.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");

请帮忙:)

干杯

【问题讨论】:

    标签: php wordpress wordpress-theming


    【解决方案1】:

    试试这个

    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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 2013-07-13
      • 2014-08-17
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      相关资源
      最近更新 更多