WPML

Aperçu de l’anomalie

Le shortcode rank_math_html_sitemap fourni par l’extension Rank Math SEO affiche un sitemap HTML qui inclut des pages de toutes les langues, au lieu d’afficher uniquement le contenu dans la langue actuelle.

Solution de contournement

Ce problème est résolu. La mise à jour vers la dernière version résout le problème sur votre site, vous n’avez donc besoin de cette solution de contournement que si vous ne pouvez pas encore mettre à jour.

Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.

  • Ouvrez le fichier …/wp-content/plugins/seo-by-rank-math/includes/modules/sitemap/html-sitemap/class-posts.php.
  • Recherchez la ligne 88.
  • Remplacez :
    $sql       = "
    	SELECT l.ID, post_title, post_name, post_parent, post_date, post_type, l.post_modified
    	FROM (
    		SELECT DISTINCT p.ID, p.post_modified FROM {$wpdb->posts} as p
    		LEFT JOIN {$wpdb->postmeta} AS pm ON ( p.ID = pm.post_id AND pm.meta_key = 'rank_math_robots' )
    		WHERE (
    			( pm.meta_key = 'rank_math_robots' AND pm.meta_value NOT LIKE '%noindex%' ) OR
    			pm.post_id IS NULL
    		)
    		AND p.post_type IN ( '" . $post_type . "' ) AND p.post_status IN ( '" . join( "', '", esc_sql( $statuses ) ) . "' )
    		ORDER BY p.post_modified DESC
    	)
    	o JOIN {$wpdb->posts} l ON l.ID = o.ID " . $get_child . " ORDER BY " . $sort['field'] . " " . $sort['order']; // phpcs:ignore
    return $wpdb->get_results( $wpdb->prepare( $sql ) ); // phpcs:ignore
  • Par :
    $current_language = apply_filters( 'wpml_current_language', NULL );				
    $sql = "
    SELECT l.ID, post_title, post_name, post_parent, post_date, post_type, l.post_modified
    FROM (
    	SELECT DISTINCT p.ID, p.post_modified FROM {$wpdb->posts} as p
    	LEFT JOIN {$wpdb->postmeta} AS pm ON ( p.ID = pm.post_id AND pm.meta_key = 'rank_math_robots' )
    	INNER JOIN {$wpdb->prefix}icl_translations AS icl ON ( p.ID = icl.element_id AND icl.language_code = %s AND icl.element_type LIKE 'post_%' )
    	WHERE (
    		( pm.meta_key = 'rank_math_robots' AND pm.meta_value NOT LIKE '%noindex%' ) OR
    		pm.post_id IS NULL
    	)
    	AND p.post_type IN ( %s ) AND p.post_status IN ( '" . join( "', '", esc_sql( $statuses ) ) . "' )
    	ORDER BY p.post_modified DESC
    ) o
    JOIN {$wpdb->posts} l ON l.ID = o.ID " . $get_child . " ORDER BY " . $sort['field'] . " " . $sort['order']; // phpcs:ignore
    $sql = $wpdb->prepare($sql, $current_language, $post_type);
    return $wpdb->get_results( $sql ); // phpcs:ignore
Gardez à l’esprit qu’il peut être nécessaire de réinitialiser vos sitemaps. Vous pouvez le faire en allant dans Rank Math SEOParamètres des sitemaps, en modifiant un paramètre et en le modifiant à nouveau.

Toutes les anomalies connues

Vous rencontrez toujours ce problème ?

Si la mise à jour ne résout pas le problème, faites une demande d’assistance et nous l’examinerons avec vous.