我正在创建一个WordPress子主题,需要覆盖某些小部件模板。我正在尝试使用此方法来覆盖父主题调用:The Right Way to Override Theme Functions。
但是,我目前收到此错误:
致命错误:无法重新声明hickory_homepage_load_widget() (先前在 C:\ WAMP \ WWW \ greenpeaceNewBlog \可湿性粉剂内容\主题\ GP-博客\ INC \部件\ homepage_widget.php:8) 在 C:\ WAMP \ WWW \ greenpeaceNewBlog \可湿性粉剂内容\主题\山核桃\ INC \部件\ 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。在我的孩子的function.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");
请帮助:)
干杯
答案 0 :(得分:0)
试试这个
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
}