Reputation: 3
i have a problem with Wordpress. I created a new plugin. I created a widget for my website. When I try to reflect the data, the ul tag stays outside.
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];
echo '<ul class="categoryarea">' . __( wp_list_categories( array('hide_empty' => 0, 'exclude' => 1, 'title_li' => __( false )))) . '</ul>'; // Problem is here. line
echo $args['after_widget'];
}
Output html image ;
Output html code ;
<li class="cat-item cat-item-10">...</li>
<li class="cat-item cat-item-11">...</li>
<li class="cat-item cat-item-20">...</li>
<li class="cat-item cat-item-12">...</li>
<li class="cat-item cat-item-13">...</li>
<li class="cat-item cat-item-14">...</li>
<li class="cat-item cat-item-15">...</li>
<li class="cat-item cat-item-16">...</li>
<li class="cat-item cat-item-17">...</li>
<li class="cat-item cat-item-18">...</li>
<li class="cat-item cat-item-19">...</li>
<ul class="categoryarea"></ul> <-- Problem here
what I need is;
<ul class="categoryarea">
<li class="cat-item cat-item-10">...</li>
<li class="cat-item cat-item-11">...</li>
<li class="cat-item cat-item-20">...</li>
<li class="cat-item cat-item-12">...</li>
<li class="cat-item cat-item-13">...</li>
<li class="cat-item cat-item-14">...</li>
<li class="cat-item cat-item-15">...</li>
<li class="cat-item cat-item-16">...</li>
<li class="cat-item cat-item-17">...</li>
<li class="cat-item cat-item-18">...</li>
<li class="cat-item cat-item-19">...</li>
</ul> <-- I need help
Thank you in advance for your interest.
Upvotes: 0
Views: 197
Reputation: 1477
There is an argument key echo
that is set 1
by default in the function.
echo '<ul class="categoryarea">' . __( wp_list_categories( array('hide_empty' => 0, 'exclude' => 1, 'echo' => 0, 'title_li' => __( false )))) . '</ul>'; // should fix
Also you might want to remove the __();
since this is for translation and usually you would not translate the html generated but the categories themselves, which would be done through other means.
Reference
https://developer.wordpress.org/reference/functions/wp_list_categories/
Upvotes: 1