/** * Output the WooCommerce Breadcrumb. * * @param array $args */ function woocommerce_breadcrumb($args = array()) { $args = wp_parse_args($args, apply_filters('woocommerce_breadcrumb_defaults', array('delimiter' => ' / ', 'wrap_before' => '<nav class="woocommerce-breadcrumb" ' . (is_single() ? 'itemprop="breadcrumb"' : '') . '>', 'wrap_after' => '</nav>', 'before' => '', 'after' => '', 'home' => _x('Home', 'breadcrumb', 'woocommerce')))); $breadcrumbs = new WC_Breadcrumb(); if ($args['home']) { $breadcrumbs->add_crumb($args['home'], apply_filters('woocommerce_breadcrumb_home_url', home_url())); } $args['breadcrumb'] = $breadcrumbs->generate(); wc_get_template('global/breadcrumb.php', $args); }
/** * Generates BreadcrumbList structured data. * * Hooked into `woocommerce_breadcrumb` action hook. * * @param WC_Breadcrumb $breadcrumbs Breadcrumb data. */ public function generate_breadcrumblist_data($breadcrumbs) { $crumbs = $breadcrumbs->get_breadcrumb(); $markup = array(); $markup['@type'] = 'BreadcrumbList'; $markup['itemListElement'] = array(); foreach ($crumbs as $key => $crumb) { $markup['itemListElement'][$key] = array('@type' => 'ListItem', 'position' => $key + 1, 'item' => array('name' => $crumb[0])); if (!empty($crumb[1]) && sizeof($crumbs) !== $key + 1) { $markup['itemListElement'][$key]['item'] += array('@id' => $crumb[1]); } } $this->set_data(apply_filters('woocommerce_structured_data_breadcrumblist', $markup, $breadcrumbs)); }
/** * Output the WooCommerce Breadcrumb. * * @param array $args */ function woocommerce_breadcrumb($args = array()) { $args = wp_parse_args($args, apply_filters('woocommerce_breadcrumb_defaults', array('delimiter' => ' / ', 'wrap_before' => '<nav class="woocommerce-breadcrumb">', 'wrap_after' => '</nav>', 'before' => '', 'after' => '', 'home' => _x('Home', 'breadcrumb', 'woocommerce')))); $breadcrumbs = new WC_Breadcrumb(); if (!empty($args['home'])) { $breadcrumbs->add_crumb($args['home'], apply_filters('woocommerce_breadcrumb_home_url', home_url())); } $args['breadcrumb'] = $breadcrumbs->generate(); /** * @hooked WC_Structured_Data::generate_breadcrumblist_data() - 10 */ do_action('woocommerce_breadcrumb', $breadcrumbs, $args); wc_get_template('global/breadcrumb.php', $args); }
/** * Output the WooCommerce Breadcrumb * * @access public * @return void */ function dimox_shop_breadcrumbs($args = array()) { $defaults = apply_filters('woocommerce_breadcrumb_defaults', array('delimiter' => '<span class="brn_arrow">/</span>', 'wrap_before' => '<nav class="woocommerce-breadcrumb" data-itemprop="breadcrumb">', 'wrap_after' => '</nav>', 'before' => '', 'after' => '', 'home' => _x('Home', 'breadcrumb', 'wpdance'))); $args = wp_parse_args($args, $defaults); $breadcrumbs = new WC_Breadcrumb(); if ($args['home']) { $breadcrumbs->add_crumb($args['home'], apply_filters('woocommerce_breadcrumb_home_url', home_url())); } $args['breadcrumb'] = $breadcrumbs->generate(); wc_get_template('global/breadcrumb.php', $args); }