更改WooCommerce短代码输出中的标记


Change markup in WooCommerce shortcode output

是否可以使用WooCommerce快捷代码,例如[product_category category="appliances"]修改标记以在某些元素周围包含<div>标记?

我知道我可以通过复制短代码来做到这一点,但仅仅添加包装<div>似乎有些过头了。

我可以用jQuery来完成,但不希望在加载时有任何延迟。

@更新

是的,这是绝对可能的。你可以用类似的东西来实现这一点:

if( !function_exists('prod_cat') ) {
    function prod_cat( $atts ) {
        extract(shortcode_atts(array(
            'cat'   => '',  // category
            'class' => '' // Optional adding class to <div> tag

        ), $atts));
        if ( $class != '') {
            $class = ' class="' . $class . '"';
        }
        return '<div'.$class.'>' . do_shortcode("[product_category category=" . $cat . "]") . '</div>';
    }
    add_shortcode('prod_cat', 'prod_cat');
}

将上述代码片段粘贴到活动子主题或主题的function.php文件中

此代码经过测试,功能齐全


用法:

对此,您有两个参数shortcode:

  • cat="your_category"设置您的类别
  • class="your_div_class"将css类设置为<div>标记(可选(

你可以在任何woocommerce页面中使用它,就像任何快捷代码一样:

[prod_cat cat="appliances" class="my_optional_div_class"]