WPML
Trạng thái
Đã giải quyết
Được báo cáo cho
WPML SEO 2.2.2
Đã giải quyết trong
WPML SEO 2.2.3
Plugin/giao diện liên quan
Rank Math SEO
Thẻ chủ đề
Compatibility

Tổng quan về lỗi

Khi sử dụng RankMath SEO hoặc Yoast SEO với tiện ích bổ sung WPML SEO của chúng tôi, bạn có thể gặp phải các giá trị hreflang không chính xác trong sitemap. Thay vì sử dụng các giá trị hreflang được thiết lập trong cài đặt ngôn ngữ của WPML, sitemap lại lấy mã ngôn ngữ (ví dụ: nz, au) thay vì mã đầy đủ như mong đợi (ví dụ: en-nz, en-au).

Giải pháp tạm thời

Vui lòng đảm bảo có bản sao lưu toàn bộ trang web trước khi tiến hành.


  • Mở tệp …/wp-content/plugins/wp-seo-multilingual/classes/Shared/Sitemap/BaseAlternateLangHooks.php.

  • Tìm dòng 180.

  • Thay thế:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $lang ) . '" href="' . esc_url( $url ) . '" />';
        };
            


  • Bằng:
    private function getAlternateLinks( $alternateLangs ) {
        $buildAlternateLink = function ( $url, $lang ) {
            $languages = apply_filters( 'wpml_active_languages', null, [] );
            $hreflang = isset( $languages[ $lang ]['tag'] ) ? $languages[ $lang ]['tag'] : $lang;
            
            return '<xhtml:link rel="alternate" hreflang="' . esc_attr( $hreflang ) . '" href="' . esc_url( $url ) . '" />';
        };
            

Tất cả các lỗi đã ghi nhận →