2016-10-25 1 views
1

J'ai essayé de retirer la mie de pain WooCommerce avec ce code:Remplacer WooCommerce Boutique du site Fil d'Ariane avec Yoast SEO Fil d'Ariane

add_action('init', 'remove_wc_breadcrumbs'); 
function remove_wc_breadcrumbs() { 
remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20, 0); 
} 

... qui fonctionne.

Après que j'activé un placé le Yoast Seo Plugin Breadcrumbs ce code dans mon thème header.php

<?php if (function_exists('yoast_breadcrumb')) { 
    yoast_breadcrumb('<p id="breadcrumbs">','</p>'); 
    } ?> 

... qui fonctionne aussi.

Le problème apparaît lorsque je navigue vers mon "site-boutique" que j'ai défini dans les paramètres de WooCommerce. Le fil d'Ariane complet ressemble à ce

Home > Product 

Remarque: Le nom de la page dans WordPress pour la « boutique-site » est « Test » (pas « produit »).

Je veux substituer le "produit" dans quelque chose de différent. J'ai essayé de le contourner en définissant un fil d'Ariane personnalisé dans les paramètres avancés de Yoast sur la page "shop-site" de wordpress mais cela ne semblait pas fonctionner. Le remplacement fonctionne si la page n'est pas définie comme "site-boutique" dans les paramètres de WooCommerce. Donc, je suppose que certaines fonctions écrasent le remplacement Yoast Breadcrumb mais je ne peux pas comprendre quelle fonction fait cela.

Le même problème apparaît lorsque je navigue vers un seul produit. Fil d'Ariane ressemble à ceci

Home > Product > Product Name 

Encore une fois je veux renommer le « produit » (la deuxième miette ici) en quelque chose de différent.

Quelqu'un peut-il résoudre ce mysticisme?

Répondre

1

Je l'ai fixé avec ce code:

add_filter('wpseo_breadcrumb_output', 'custom_wpseo_breadcrumb_output'); 
function custom_wpseo_breadcrumb_output($output){ 
if(is_product()){ 
    $from = 'rel="v:url" property="v:title">Product</a>'; 
    $to = 'rel="v:url" property="v:title">New Title</a>'; 
    $output = str_replace($from, $to, $output); 
} 

elseif (is_shop()) { 
    $from = '<span class="breadcrumb_last">Products</span>'; 
    $to = '<span class="breadcrumb_last">New Title</span>'; 
    $output = str_replace($from, $to, $output); 
} 
return $output; 
}