WooCommerce:如何包装最近的产品小部件?

时间:2015-04-01 17:58:54

标签: woocommerce

使用内置的WooCommerce小部件“最近的产品”显示标题(文本),后跟无序的产品列表。令人惊讶的是,这两个主要元素(标题和列表)没有包装在任何容器中,因此难以设计风格,集成到主题中并最终难以使用。在小部件菜单中没有选项。

还有什么方法可以包装它们我可能还没有想过?

1 个答案:

答案 0 :(得分:2)

WooCommerce利用Filters帮助我们覆盖默认小部件的HTML输出。

例如,我认为是WooCommerce Productsregister_sidebar使用了woocommerce_before_widget_product_listwoocommerce_after_widget_product_list过滤器。您可以简单地挂钩函数并修改默认输出。像这样:

add_filter( 'woocommerce_before_widget_product_list', 'my_theme_before_widget_product_list', PHP_INT_MAX );
add_filter( 'woocommerce_after_widget_product_list', 'my_theme_after_widget_product_list', PHP_INT_MAX );

function my_theme_before_widget_product_list( $html ) {
    return '<div class="my-theme-product-list">' . $html;
}

function my_theme_after_widget_product_list( $html ) {
    return $html . '</div><!-- /.my-theme-product-list -->';
}

如果您在侧边栏中使用小部件,则可以使用{{3}}函数的before_widgetafter_widgetbefore_titleafter_title个参数。