Reposisi WooCommerce remah roti di luar konten pembungkus


9

Saat ini saya memiliki kode ini di file fungsi saya untuk plugin 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' );

Sekarang saya ingin memposisikan remah roti WooCommerce di luar kelas section.main, namun saya tidak bisa melihat bagaimana melakukan ini. Apakah ada cara untuk melakukan ini?

Ini adalah kode yang saya miliki untuk breadcrumb 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 );
}

Saya telah mencoba meletakkan tag section.main di baris 'sebelum', tetapi ini hanya menambahkan tag bagian di breadcrumb, itu tidak memposisikan ulang breadcrumb.

Jawaban:


20

Oke, sepertinya saya berhasil. Saya menambahkan ini di file fungsi ...

//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' );

Kemudian ditambahkan ...

do_action('woo_custom_breadcrumb'); 

... Di mana saya ingin remah roti menunjukkan.


1

Sudah mencoba kode Anda tetapi tidak berhasil.

Sebaliknya saya menghapus tindakan pada halaman yang ditargetkan.

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

Dan memasukkannya berkat sebuah kait di mana saya ingin:

<?php woocommerce_breadcrumb();?>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.