WPML

问题概述

如果您使用与网站默认语言不同的语言创建主页,您会注意到 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( [] );

所有已知问题

仍然遇到此问题?

如果更新无法解决问题,请提出支持问题,我们将与您一起排查。