J'ai actuellement ce code dans mon fichier de fonctions pour le 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' );
J'aimerais maintenant repositionner le fil d'Ariane WooCommerce en dehors de la classe section.main, mais je ne vois pas comment faire cela. Y a-t-il un moyen de faire cela?
C'est le code que j'ai pour le fil d'Ariane 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 );
}
J'ai essayé de placer la balise section.main dans la ligne 'before', mais cela n'ajoute qu'une balise section dans le fil d'Ariane, cela ne repositionne pas le fil d'Ariane.
Ok, il me semble l'avoir fait fonctionner. J'ai ajouté ceci dans le fichier de fonctions ...
//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' );
Puis ajouté ...
do_action('woo_custom_breadcrumb');
... Où je voulais que le fil d'Ariane montre.
J'ai essayé votre code mais cela ne fonctionnerait pas.
Au lieu de cela, j'ai supprimé l'action sur la page ciblée.
function wc_remove_storefront_breadcrumbs() {
if ( is_single() ){
remove_action( 'storefront_before_content', 'woocommerce_breadcrumb',
10 );
}
}
add_action( 'wp', 'wc_remove_storefront_breadcrumbs');
Et inclus grâce à un crochet où je voulais avec:
<?php woocommerce_breadcrumb();?>