查看小部件呈现的输出可以发现标记缺少结束符<a>
术语链接和小部件实例的标记没有结束符</li>
.
查看页面源代码并格式化输出可以更容易地识别这些问题:
<li id="mdk_wpcat_widget-2" class="widget-container mdk_wpcat_widget">
<h3 class="widget-title">Wooooo!</h3>
<ul class="shop-categories">
<li class="shop-category ">
<a href="http://example.com/product-category/test-category-1/">
<span class="bulletpoint"></span>
<span class="category-title">Test Category 1</span>
</li>
<li class="shop-category ">
<a href="http://example.com/product-category/test-category-1/test-subcategory-1/">
<span class="bulletpoint"></span>
<span class="category-title">Test Subcategory 1</span>
</li>
</ul>
下面是输出HTML的代码的更新版本。格式已经改进,缺少的结束锚标记已经修复。保持良好的格式有助于识别错误。
$count = count( $product_categories );
if ( $count > 0 ) {
echo \'<ul class="shop-categories">\';
foreach ( $product_categories as $product_category ) {
$active_cat = $product_category->name == single_cat_title( \'\', false ) ? \' active-cat\' : \'\';
echo \'
<li class="shop-category\' . $active_cat . \'">\' .
\'<a href="\' . esc_url( get_term_link( $product_category ) ) . \'">\' .
\'<span class="bulletpoint"></span>\' .
\'<span class="category-title">\' . esc_html( $product_category->name ) . \'</span>\' .
\'</a>\' .
\'</li>\';
}
echo \'</ul>\';
}
缺失的关闭
</li>
控件实例的标记是由于覆盖
$args
具有传递给的参数的数组
get_terms()
. 这导致
echo $args[\'after_widget\'];
发出警告。开发时始终打开错误报告。
为传递给的参数创建单独的数组get_terms()
:
// Custom Woo Category Output
$get_terms_args = array(
\'number\' => $number,
\'orderby\' => \'menu_order\',
\'order\' => \'ASC\',
\'hide_empty\' => $hide_empty,
\'include\' => $ids,
\'exclude\' => \'72\', //Hides "film" category by ID
);
$product_categories = get_terms( \'product_cat\', $get_terms_args );
请注意
$number
,
$hide_empty
, 和
$ids
也都是未定义的,因此这些变量应该正确初始化。