【问题标题】:Wordpress : Change title of sidebar widget dynamicallyWordpress:动态更改侧边栏小部件的标题
【发布时间】:2011-05-21 14:38:09
【问题描述】:

是否可以获得我在侧边栏中启用的小部件的标题,以便我可以将其插入为我的类属性的名称?

例如: 'before_title' => <h2 class="title of the widget">',

如果我检查元素,我想看到: <h2 class="author"><h2 class="links"> 等...

谢谢

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    这绝对是可能的,但如果你想动态地做到这一点,你需要使用过滤器。

    dynamic_sidebar_params 过滤器应该适合您。如果您不熟悉过滤器的作用,基本上过滤器允许您在内容显示在屏幕上或保存在数据库中之前对其进行编辑。在此处查看更多信息:http://codex.wordpress.org/Plugin_API/Filter_Reference

    dynamic_sidebar_params 过滤器中,传递的数组具有以下结构(我是通过 print_r 得到的)

    Array
    (
        [0] => Array
            (
                [name] => Primary Widget Area
                [id] => primary-widget-area
                [description] => The primary widget area
                [before_widget] => <li id="search-2" class="widget-container widget_search">
                [after_widget] => </li>
                [before_title] => <h3 class="widget-title">
                [after_title] => </h3>
                [widget_id] => search-2
                [widget_name] => Search
            )
    
        [1] => Array
            (
                [number] => 2
            )
    
    )
    

    也就是说,您所要做的就是在返回之前编辑$params 数组。您可能还需要执行一些条件逻辑来获得您想要的确切类,但我会留给您。

    这是一个例子:

    function my_edit_widget_func($params) {
        $params[0]['before_title'] = '<h3 class="' . $params[0]['widget_name'] . '">' ;
        return $params;
    }
    add_filter('dynamic_sidebar_params', 'my_edit_widget_func');
    

    【讨论】:

    • 这是完美的。我现在就试试这个,让你知道结果如何!
    • 我在 'functions.php' 中添加了这个函数以及 add_filter 调用。这是放置它的正确位置吗?我对 WordPress 比较陌生,所以这对我来说有点困惑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多