【问题标题】:WP Bakery woocommerce show product subcategory (FREE)WP Bakery woocommerce 展示产品子类别(免费)
【发布时间】:2020-07-15 14:48:21
【问题描述】:

Queria compartir este trabajo con vosotros ya que no encontré ninguna solución en internet, asique tuve que construir la mia。

El problema era que el cliente queria mostrar las subcategorías dentro de la categoria principal mediante un shortcode。 Solo el nombre de las subcategorias, sin miniatura ni cantidad de productos。


朋友们好。

我想和你分享这个工作,因为我在互联网上没有找到任何解决方案,所以我不得不自己构建。

问题是客户希望使用简码显示主类别中的子类别。只有子类别的名称,没有缩略图或产品数量。

【问题讨论】:

  • 在回答您的问题is fine时,您需要将其作为答案,而不是将答案放入问题中
  • 谢谢,重新整理我的问题和答案

标签: wordpress woocommerce categories visual-composer wpbakery


【解决方案1】:

Asique cree un archivo llamado "products-subcategory.php" en plugins/bezel-addons/vc/shortcodes/。 包含插件/bezel-addons/vc/shortcodes.php En mi caso mi plantilla es la Bezzel https://themeforest.net/item/bezel-creative-multipurpose-wordpress-theme/20014332 Pero creo que puedes implementarlo en cualquiera que use Visual Composer o WP Bakery。


因此,在 plugins/bezel-addons/vc/shortcodes/ 中创建一个名为“products-subcategory.php”的文件。 我将它合并到 plugins/bezel-addons/vc/shortcodes.php 就我而言,我的模板是 Bezzel https://themeforest.net/item/bezel-creative-multipurpose-wordpress-theme/20014332 但我认为你可以在任何使用 Visual Composer 或 WP Bakery 的人身上实现它。


products-subcategory.php.

<?php
/* Product subcategory  */
vc_map(
  array(
    'name' => 'Product subcategory',
    'base' => 'bezel_products_subcategory',
    'icon' => 'ti-align-left',
    'description' => 'Product subcategories',
    'category' => __( 'Bezel', 'bezel-addons'),
    'params' => array(
      array(
        'type' => 'dropdown',
        'param_name' => 'orderby',
        'heading' => 'Order BY',
        'value' => array(
          'Name' => 'name',
          'ID' => 'term_id'
        ),
      ),
    array(
        'type' => 'dropdown',
        'param_name' => 'order',
        'heading' => 'Order',
        'value' => array(
            'Upward' => 'ASC',
            'Falling' => 'DESC'
        ),
      ),
        array(
        'type' => 'dropdown',
        'param_name' => 'empty',
        'heading' => 'Show empty subcategories',
        'value' => array(
            'Yes' => 0,
            'No' => 1
        ),
      )

    )
  )
);

add_shortcode( 'bezel_products_subcategory', 'bezel_products_subcategory' );

function bezel_products_subcategory( $atts ) {
 global $wp_query;

    extract( shortcode_atts( array(
        'taxonomy' => 'product_cat',
        'orderby' => 'name',
        'order' => 'ASC',
        'empty' => 0,
        'hierarchical' => 1
  ), $atts ) );

    $cat = get_queried_object();        
    $category_id = ($cat->parent) ? $cat->parent : $cat->term_id;
    $args2 = array('taxonomy' => $taxonomy,'parent' => $category_id,'hierarchical' => $hierarchical, 'orderby' => $orderby, 'order' => $order,'hide_empty' => $empty);
    $categories = get_categories( $args2 );
    $categories_cnt = count(get_categories( $args2 ));

    $selcat[$cat->term_id] = 'current-cat';

    if ($categories_cnt != 0){

        $sub_cats = get_categories( $args2 );
        if($sub_cats) {
            $output = '<div class="vc_wp_categories wpb_content_element">';
            $output .= '<div class="widget widget_categories">';
            $output .= '<ul>';
            foreach($sub_cats as $sub_category) {
                $output .= '<li class="cat-item cat-item-'.$sub_category->term_id.' '.$selcat[$sub_category->term_id].'"><a href="'.get_category_link($sub_category->term_id).'">'.$sub_category->cat_name.'</a></li>';
            }
            $output .= '</ul>';
            $output .= '</div>';
            $output .= '</div>';
        }
    }

  return $output;
}
?>

Espero que le sirva a alguien。

我希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-17
    • 2013-09-29
    • 1970-01-01
    • 2016-06-07
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多