WP Custom Widget <ul> 标签在外面

WP Custom Widget <ul> tag is outside

我对 Wordpress 有疑问。 我创建了一个新插件。我为我的网站创建了一个小部件。 当我尝试反映数据时,ul 标签留在外面。

    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'];
}

输出html图像;

ul tag is outside (image)

输出html代码;

<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

我需要的是;

<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

预先感谢您的关注。

函数中有一个参数键echo,默认设置为1

echo '<ul class="categoryarea">' . __( wp_list_categories( array('hide_empty' => 0, 'exclude' => 1, 'echo' => 0, 'title_li' => __( false )))) . '</ul>'; // should fix

您可能还想删除 __();,因为这是为了翻译,通常您不会翻译生成的 html,而是翻译类别本身,这将通过其他方式完成。

参考

https://developer.wordpress.org/reference/functions/wp_list_categories/