I have run into an issue trying to use the sidebar args (before_widget,after widget,after_widget,before_widget) as theme style friendly parameters for the function wp_list_bookmarks, that is that the wp_list_bookmarks output will look just as the one
inside WP_Widget_Links.
I almost copied verbatim the code of the links widget but when trying to reuse the only one sidebar args (via
the global $wp_registered_sidebars) I get some css classes for the widget container that dont show up
using the WP_Widget_Links.
For example the following dump of a sidebar args:
'name' => 'Sidebar 1'
'id' => 'sidebar-1'
'before_widget' => '<li id="%1$s" class="widget %2$s">'
'after_widget' => '</li>'
'before_title' => '<h2 class="widgettitle">'
'after_title' => '</h2>'
By reading the wp code I assumed that is safe to change %1$s, %2$s for %id, %class resp, and then once the
wp_list_bookmarks gets executed I should end with before_widget looking like <li id="linkcat-" class="widget linkcat">
.
But after comparing to the output of the links widget the widget css classname is missing, and the output of my code looks
a bit odd in the page.
This is the code where I use the function, which gets called as a filter to sidebars_widgets:
function my_sidebars_widgets($sidebar_widgets) {
global $wpdb, $wp_registered_sidebars;
static $hits;
if(++$hits == 2) {
$sidebar = array_values($wp_registered_sidebars);
$before_title = $sidebar[0]['before_title'];
$after_title = $sidebar[0]['after_title'];
$before_widget = $sidebar[0]['before_widget'];
$after_widget = $sidebar[0]['after_widget'];
$before_widget = str_replace('%2$s','%class',$before_widget);
$before_widget = str_replace('%1$s','%id',$before_widget);
wp_list_bookmarks(apply_filters('widget_links_args',array(
'title_before' => $before_title, 'title_after' => $after_title,
'category_before' => $before_widget, 'category_after' => $after_widget,
'hide_invisible' => true,'title_li' => 'Links',
'categorize' => 0,'inquiry' => true
)));
}
return $sidebar_widgets;
}
Did you have any clue of what Im missing here? I keep trying to get clear how WP feed widgets args but
no explanation so far while reading the code.
thanks in advance for any on your considerations.