Riposizionare il breadcrumb di WooCommerce fuori dal wrapper del contenuto
19 mag 2013, 00:03:04
Visualizzazioni: 19K
Voti: 9
Attualmente ho questo codice nel mio file functions.php per il 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' );
Ora vorrei riposizionare il breadcrumb di WooCommerce all'esterno della classe section.main, ma non riesco a capire come fare. Esiste un modo per farlo?
Questo è il codice che ho per il breadcrumb di WooCommerce...
function woocommerce_breadcrumb( $args = array() ) {
$defaults = apply_filters( 'woocommerce_breadcrumb_defaults', array(
'delimiter' => ' / ',
'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 );
}
Ho provato a inserire il tag section.main nella riga 'before', ma questo aggiunge solo un tag section nel breadcrumb, non lo riposiziona.
Tutte le risposte alla domanda
2
0
Ok, sembra che sia riuscito a farlo funzionare. Ho aggiunto questo nel file functions...
//Riposiziona il breadcrumb di WooCommerce
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' );
Poi ho aggiunto...
do_action('woo_custom_breadcrumb');
...dove volevo che il breadcrumb fosse visualizzato.

Adam
655
19 mag 2013 00:22:03
0
Ho provato il tuo codice ma non ha funzionato.
Invece ho rimosso l'azione sulla pagina target.
function wc_remove_storefront_breadcrumbs() {
if ( is_single() ){
remove_action( 'storefront_before_content', 'woocommerce_breadcrumb',
10 );
}
}
add_action( 'wp', 'wc_remove_storefront_breadcrumbs');
E l'ho incluso grazie a un hook dove volevo con:
<?php woocommerce_breadcrumb();?>

Francois
25
22 set 2018 10:30:53
Domande correlate