0

我已经注册了一个动态侧边栏如下 register_sidebar(array( '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'); 使用自定义操作

我知道如何将我自己的动作钩子插入到每个模板页面中,但是我真的很想避免这种情况。因为有许多需要更改的主题文件。

4

1 回答 1

2

只需创建一个课程并在侧边栏中注册您的小部件

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');
于 2013-07-10T20:24:10.360 回答