মোড়কের লিখিত সামগ্রীর বাইরে 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 এর ব্রেডক্রাম্বকে পুনরায় স্থাপন করতে চাই, তবুও আমি কীভাবে এটি করব তা দেখতে পাচ্ছি না। এই কাজ করতে একটি উপায় আছে কি?

এটি আমার কাছে 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();?>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.