问题概述
如果您使用与网站默认语言不同的语言创建主页,您会注意到 Rank Math SEO 插件的 XML 站点地图错误地显示了页面的实际别名,而不是仅显示语言目录。
临时解决方法
这个问题已修复。 更新到最新版本即可在您的站点上解决此问题,因此,只有当您暂时无法更新时,才需要此临时解决方法。
在继续操作之前,请确保对您的站点进行完整备份。
- 打开 …/wp-seo-multilingual/classes/RankMathSEO/Sitemap/Hooks.php 文件。
- 找到第 58 行。
- 将:
$this->secondaryHomesById = Maybe::fromNullable( get_option( 'page_on_front' ) ) ->map( PostTranslations::get() ) ->map( Fns::reject( Obj::prop( 'original' ) ) ) ->map( Fns::map( $getIdAndUrl ) ) ->map( Lst::fromPairs() ) ->getOrElse( [] ); - 替换为:
$this->secondaryHomesById = Maybe::fromNullable( get_option( 'page_on_front' ) ) ->map( PostTranslations::get() ) ->map( Fns::reject( \WPML\FP\Relation::propEq('language_code', apply_filters('wpml_default_language', 'en')) ) ) ->map( Fns::map( $getIdAndUrl ) ) ->map( Lst::fromPairs() ) ->getOrElse( [] );