आवरण सामग्री के बाहर पुनरावृत्ति WooCommerce ब्रेडक्रंब


9

वर्तमान में मेरे पास WooCommerce प्लगइन के लिए मेरे फ़ंक्शन फ़ाइल में यह कोड है ..

function my_theme_wrapper_start()
{
  echo the_breadcrumb();
  echo '<section role="main"><div class="wrap">';
}

function my_theme_wrapper_end()
{
  echo '</div></section>';
}

function mytheme_prepare_woocommerce_wrappers()
{
  remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
  remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);

  add_action( 'woocommerce_before_main_content', 'my_theme_wrapper_start', 10 );
  add_action( 'woocommerce_after_main_content', 'my_theme_wrapper_end', 10 );
}

add_action( 'wp_head', 'mytheme_prepare_woocommerce_wrappers' );

add_theme_support( 'woocommerce' );

अब मैं WooCommerce ब्रेडक्रंब को अनुभाग.main वर्ग के बाहर रखना चाहूंगा, फिर भी मैं यह नहीं देख सकता कि यह कैसे करना है। क्या इसे करने का कोई तरीका है?

यह वो कोड है जो मेरे पास WooCommerce ब्रेडक्रंब के लिए है ...

function woocommerce_breadcrumb( $args = array() ) {

    $defaults = apply_filters( 'woocommerce_breadcrumb_defaults', array(
        'delimiter'   => ' &#47; ',
        'wrap_before' => '<nav class="bcrumb" itemprop="breadcrumb">',
        'wrap_after'  => '</nav>',
        'before'      => '',
        'after'       => '',
        'home'        => _x( 'Home', 'breadcrumb', 'woocommerce' ),
    ) );

    $args = wp_parse_args( $args, $defaults );

    woocommerce_get_template( 'shop/breadcrumb.php', $args );
}

मैंने अनुभाग 'टैग' को 'पहले' लाइन में डालने की कोशिश की है, लेकिन यह केवल ब्रेडक्रंब में एक सेक्शन टैग जोड़ता है, यह ब्रेडक्रंब को रिपोज नहीं करता है।

जवाबों:


20

ठीक है, मुझे लगता है कि यह काम कर रहा है। मैंने इसे फ़ंक्शंस फ़ाइल में जोड़ा है ...

//Reposition WooCommerce breadcrumb 
function woocommerce_remove_breadcrumb(){
remove_action( 
    'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
}
add_action(
    'woocommerce_before_main_content', 'woocommerce_remove_breadcrumb'
);

function woocommerce_custom_breadcrumb(){
    woocommerce_breadcrumb();
}

add_action( 'woo_custom_breadcrumb', 'woocommerce_custom_breadcrumb' );

फिर जोड़ा गया ...

do_action('woo_custom_breadcrumb'); 

... जहाँ मैं ब्रेडक्रम्ब दिखाना चाहता था।


1

अपने कोड की कोशिश की, लेकिन यह काम नहीं करेगा।

इसके बजाय मैंने लक्षित पृष्ठ पर कार्रवाई को हटा दिया।

function wc_remove_storefront_breadcrumbs() {
    if ( is_single() ){
        remove_action( 'storefront_before_content', 'woocommerce_breadcrumb', 
10 );
    }
  }
add_action( 'wp', 'wc_remove_storefront_breadcrumbs');  

और इसमें एक हुक के लिए धन्यवाद शामिल था जहां मैं चाहता था:

<?php woocommerce_breadcrumb();?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.