在微件标题之前/微件开始标记之后插入自定义内容

时间:2014-02-28 作者:Paxjah

我试图将一个小部件定位为一个特定的类,并将一些内容直接放在开始标记之后或小部件标题之前。

这是:

<widget>
<h3>Title</h3>
<p>Some content goes here...</p>
</widget>
成为:

<widget>
<!-- Custom content or element goes here -->
<h3>Title</h3>
<p>Some content goes here...</p>
</widget>
我不能很好地融入其中,我不想使用css,这需要添加小部件逻辑,以便用户友好。

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

您可以使用dynamic_sidebar_params 过滤器:

add_filter( \'dynamic_sidebar_params\', 
    function( $params )
    {
       // target a sidebar id:
       if( isset( $params[0][\'id\'] ) && \'sidebar-1\' === $params[0][\'id\']
       {    
           // target a widget name:
           if( isset( $params[0][\'widget_name\'] ) && \'Text\' === $params[0][\'widget_name\'] )
           {
               // target a widget id:
               if( isset( $params[0][\'widget_id\'] ) && \'text-8\' === $params[0][\'widget_id\'] )
               {
                   // Append text to existing \'before widget\' markup code:
                   if( isset( $params[0][\'before_widget\'] ) )
                   { 
                       $params[0][\'before_widget\'] .= \'<!-- Custom content -->\';
                   }
               }
            }
         }
         return $params;
    } 
);
其中小部件名称是例如:文本、类别、日历、。

然后,您可以根据需要对其进行修改,例如\'sidebar-1\', \'Text\'\'text-8\' 零件。

结束

相关推荐

Prevent widgets removal

我正在用许多小部件构建一个网站。它们是高度定制的。当站点处于活动状态时,几个管理员/编辑器必须编辑这些小部件。现在,我很害怕看到一个小部件(及其配置)可以在一次鼠标移动中完全擦除(将其从侧栏中删除)。有没有什么方法可以防止小部件被删除,同时保持编辑其内容的能力?此外,在我看来,管理中的widget管理页面为“添加widget”模块提供了太多的空间,而为“激活的widget”模块提供的空间不足。这在创建站点时很有用,但在完成站点时却毫无用处。有没有办法切换这些模块的大小?非常感谢