Add filter to blogroll widget

时间:2012-12-18 作者:Christopher

我想补充一下<i class="icon-ok"></i><li> blogroll小部件的。我假设这是通过link\\u title过滤器完成的,但我找不到合适的解释。

有什么想法吗?

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

筛选blogroll的参数:

add_filter( \'widget_links_args\', \'wpse_76521_filter_blogroll\' );

function wpse_76521_filter_blogroll( $args )
{
    $li_start = isset ( $args[\'before\'] ) ? $args[\'before\'] : \'<li>\';
    $args[\'before\'] = $li_start . \'<i class="icon-ok"></i>\';
    return $args;
}
解释blogroll是由widget类创建的WP_Widget_Links. wp_list_bookmarks() 带有一些准备好的widget参数,我们可以使用这些参数进行筛选widget_links_args.
  • wp_list_bookmarks() 呼叫_walk_bookmarks() 并传递原始参数
  • _walk_bookmarks() 接受参数\'before\' 默认为<li>.widget_links_args in(2)让它掉下去,直到它到达_walk_bookmarks() (4.)
    1. 备选方案

      您可以使用CSS替代:

      .widget_links li
      {
          padding-left: 20px;
          background:   url(path/to/icon.png) 0% 50% no-repeat transparent;
      }
      

    结束

    相关推荐

    Taxonomy search filters

    我使用几种分类法开发了几个国家的教育课程数据库。国家、研究所、研究水平和其他一些是分类法。如果用户单击某个国家/地区,将显示该国家/地区的所有课程。如何在保留在同一国家/地区的情况下过滤结果(研究所、学习水平等)。我想把它放在存档页上,这样每个搜索都可以进一步过滤。