寄存器窗口小部件类未写入主题

时间:2018-07-19 作者:Insight

我有一个小部件位于/child-theme/includes/custom-widget.php.

我怎么打电话register_widget 引用那个小部件?

我在里面试过类似的东西functions.php:

function SER_register_widgets() { 
  register_widget( \'includes/custom-widget.php\' );
}
add_action( \'widgets_init\', \'SER_register_widgets\' );
但这不起作用。

感谢您的帮助。

2 个回复
最合适的回答,由SO网友:maverick 整理而成

在函数中包含该文件。类似php文件

require_once(\'includes/custom-widgets.php\');

然后你可以打电话add_action() 胡克,在你的情况下

add_action(\'widgets_init\', \'SER_register_widgets\'); .

其想法是使该函数(ser\\u register\\u小部件)在当前php文件(本例中为functions.php文件)中可见

SO网友:Krzysiek Dróżdż

好吧,PHP不是这样工作的……;)

register_widget 函数只获取一个param-widget类。。。无法将文件路径作为类名传递。。。当然,您必须确保这样的类存在(因此您必须在该类中包含file)。

include_once( \'includes/custom-widget.php\' );

function SER_register_widgets() { 
  register_widget( \'My_Custom_Widget_Class\' );  // <-- change to real class
}
add_action( \'widgets_init\', \'SER_register_widgets\' );

结束

相关推荐

Using add_filter() in Widgets

只需查询引用add_filter() 作用您可以在WordPress小部件类中使用此函数吗。Example我有一个带有动态创建代码的小部件,我想将其传递给插件中创建的另一个函数。这能实现吗?<?php /** * Display the actual Widget * * @param Array $args * @param Array $instance */ public function widget($args, $inst