get_Id() ); } if ( ! empty( $primary_term ) ) { return $primary_term; } return $term; } /** * Retrieve primary product term ID, set through YOAST. * * @param string $term The original term string. * @param \WC_Product $product Product. * * @return int|string */ public function get_primary_term_id( $term, $product ) { if ( function_exists( 'yoast_get_primary_term_id' ) ) { $primary_term_id = yoast_get_primary_term_id( 'product_cat', $product->get_Id() ); } if ( ! empty( $primary_term_id ) ) { return $primary_term_id; } return $term; } /** * Yoast breadcrumbs. * * @param string|array $class One or more classes to add to the class list. * @param bool $display Whether to display the breadcrumb (true) or return it (false). */ public function yoast_breadcrumb( $class = '', $display = true ) { if ( function_exists( 'yoast_breadcrumb' ) ) { $classes = is_array( $class ) ? $class : array_map( 'trim', explode( ' ', $class ) ); $classes[] = 'yoast-breadcrumb'; $classes[] = 'breadcrumbs'; $classes[] = get_theme_mod( 'breadcrumb_case', 'uppercase' ); $classes = array_unique( array_filter( $classes ) ); $classes = implode( ' ', $classes ); yoast_breadcrumb( '', $display ); } } /** * Removes last crumb in the crumbs array. * * @param array $crumbs The crumbs array. * * @return mixed */ public function remove_last_crumb( $crumbs ) { if ( count( $crumbs ) > 1 ) { array_pop( $crumbs ); } return $crumbs; } /** * Adds a link to last crumb, use in conjunction with remove_last_crumb() * * @param string $output The output string. * @param array $crumb The link array. * * @return string */ public function add_link_to_last_crumb( $output, $crumb ) { $output = ''; $output .= $crumb['text']; $output .= ''; return $output; } /** * Wrap breadcrumb separator. * * @param string $separator Breadcrumbs separator. * * @return string */ public function wrap_crumb_separator( $separator ) { return '' . $separator . ''; } /** * Initializes the object and returns its instance. * * @return WP_Seo The object instance */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } } WP_Seo::get_instance();