Le plugin The Events Calendar n’utilise pas le fonctionnement « classique » des pages de WordPress, la hiérarchie des pages et des taxonomies n’est donc pas bien interprétée par le  fil d’Ariane de Yoast SEO ce qui peut complètement le briser et le rendre inutile.

Heureusement, Yoast SEO fourni quelques hooks utiles qui permettrons d’ajouter nos propres règles dans la génération du fil d’Ariane. La fonction suivante permet d’améliorer (et de rendre utile le breadcrumb) sur les pages d’événements et les pages d’archive liées.

function bweb_events_wpseo_breadcrumb_output( $output ){
	if( is_singular( 'tribe_events' ) ){
		$queried_object = get_queried_object();
		$obj = get_post_type_object( 'tribe_events' );
		$from = '';
		$to = ' » ' . $obj->labels->name . '';
		$to .= ' » '. $queried_object->post_title .'';
		$output = str_replace( $from, $to, $output );
	}
	if( is_post_type_archive( 'tribe_events' ) ){
		$queried_object = get_queried_object();
		$from = $queried_object->label;
		$to = $queried_object->labels->name;
		$output = str_replace( $from, $to, $output );
	}
	return $output;
}
add_filter( 'wpseo_breadcrumb_output', 'bweb_events_wpseo_breadcrumb_output' );

 

Notez que la fonction ne fonctionnera que si vous utilisez le séparateur par défaut « » » dans les paramètres du Breadcrumb Yoast. Si vous l’avez changé, vous devez modifier la fonction en conséquence.

 

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *