我注册了一个动态侧边栏,如下所示:register_sidebar( 'id‘=> 'widget-my-header','name’=> 'My: Header','before_widget‘=> '','after_widget’=> '','before_title‘=> '','after_title’=> '',));
我在我的模板中调用动态侧边栏。
dynamic_sidebar('widget-my-header');是否有可能将自定义函数注入dynamic_sidebar('widget-my-header');?
假设我有一个函数add_my_cool_headline(),我想把它作为这个dynamic_sidebar(‘widget-my-header’)的内容;能做到吗?
我使用的是子主题,所以我希望使用自定义操作替换dynamic_sidebar(‘widget-my-header’)
我知道如何在每个模板页面中插入我自己的操作钩子,但是我真的想避免这种情况。因为有许多主题文件需要更改。
发布于 2013-07-11 04:24:10
只需创建一个类并在侧边栏中注册您的小部件
if ( function_exists('register_sidebar') ) {
register_sidebar(array('name' => 'widget-my-header','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<span>','after_title' => '</span>'));
}
class MYHeaderWidget extends WP_Widget {
function MYHeaderWidget() {
//Constructor
$widget_ops = array('classname' => 'MYHeaderWidget Widget', 'description' => 'MYHeaderWidget' );
$this->WP_Widget('MYHeaderWidget', 'widget-my-header', $widget_ops);
}
function widget($args, $instance) {
// prints the widget
extract($args, EXTR_SKIP); ?>
<div class="">Hello</div>
<?php
}
}
register_widget('MYHeaderWidget');https://stackoverflow.com/questions/17577861
复制相似问题