最后,我完成了小部件的编写,现在想使用主题php文件中的函数调用它。我的小部件如下所示:
function reg_custom_widget() {
register_widget(\'wp_custom_widget\');
}
class wp_custom_widget extends WP_Widget {
function wp_custom_widget() { /* constructor */ }
function widget($args, $instance) { /* here is the code, that uses \'core\' functions to build the result and display it */ }
function shortcode_handler($atts) { /* the same code as in widget() with a couple of features */ }
/* here are basic functions, strongly related. they perform main widget functionality */
function core_func_one($input) { }
function core_func_two($input) { }
function core_func_three($input) { }
function core_func_four($input) { }
function core_func_five($input) { }
function update($new_instance, $old_instance) { /* updating settings */ }
function form($instance) { /* building widget setup-form */ }
}
我已经知道以下方法,这些方法调用widget,可以放在主题文件中:
1. 通过短代码调用
do_shortcode()
wp功能
2. 使用调用小部件
the_widget()
wp功能<这两种方法都很有效,但我的设计师拒绝了它们
他想以这种方式硬编码小部件的调用:
if(function_exists(\'custom_widget\')) { custom_widget(); }
如何实现此选项?也许在widget类中创建另一个函数是合理的,使其成为全局函数或其他函数,它将从内部运行widget?听起来像是精神错乱,但我现在真的不明白如何解决这个问题。