- Status
- Resolvido
- Relatado para
- WPML SEO 2.1.0
- Resolvido em
- 2.2.0
- Plugin/tema relacionado
- Rank Math SEO
- Tags de tópico
- Compatibility
Visão geral do problema
O shortcode rank_math_html_sitemap fornecido pelo plugin Rank Math SEO está exibindo um sitemap HTML que inclui páginas de todos os idiomas, em vez de exibir conteúdo apenas no idioma atual.
Solução alternativa
Certifique-se de fazer um backup completo do seu site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/seo-by-rank-math/includes/modules/sitemap/html-sitemap/class-posts.php.
- Procure a linha 88.
- Altere:
$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 - Para:
$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
Lembre-se de que pode ser necessário redefinir seus sitemaps. Você pode fazer isso acessando Rank Math SEO > Sitemaps settings, modificando uma configuração e alterando-a novamente.