- Trạng thái
- Đã giải quyết
- Đã giải quyết trong
- 1.2.0
- Plugin/giao diện liên quan
- Yoast SEO
Tổng quan về lỗi
Sau những thay đổi lớn gần đây trong Yoast 14.x, một số người dùng WPML nhận thấy nội dung Yoast luôn được tạo bằng ngôn ngữ mặc định.
Ví dụ, trên một trang bằng ngôn ngữ phụ, đây có thể là các thẻ “meta” như “og:title” hoặc “og:description”, hoặc các URL trong breadcrumb của bạn.
Chúng tôi có một giải pháp tạm thời nhưng do bản chất của vấn đề, nó có thể không hiệu quả với tất cả mọi người. Chúng tôi đang tiến hành khắc phục sự cố này càng sớm càng tốt.
Nếu bạn đang gặp sự cố khi dịch nội dung Yoast, vui lòng thử giải pháp tạm thời bên dưới và đợi phiên bản phát hành tiếp theo của Yoast Multilingual trước khi tạo yêu cầu hỗ trợ.
Giải pháp tạm thời
Thêm mã này vào tệp functions.php trong giao diện của bạn:
if ( ! is_admin() ) {
add_filter( 'wpseo_title', 'wpml_wpseo_title', 10, 2 );
add_filter( 'wpseo_opengraph_title', 'wpml_wpseo_title', 10, 2 );
}
function wpml_wpseo_title( $title, $presentation ) {
switch ( $presentation->model->object_type ) {
case 'post-type-archive':
$key = 'title-ptarchive-' . $presentation->model->object_sub_type;
break;
case 'system-page':
$key = 'title-' . $presentation->model->object_sub_type . '-wpseo';
break;
default:
$key = false;
}
if ( $key ) {
$option = get_option( 'wpseo_titles' );
if ( isset( $option[ $key ] ) ) {
$title = wpseo_replace_vars( $option[ $key ], $presentation );
}
}
return $title;
}
if ( ! is_admin() ) {
add_filter( 'wpseo_metadesc', 'wpml_wpseo_desc', 10, 2 );
add_filter( 'wpseo_opengraph_desc', 'wpml_wpseo_desc', 10, 2 );
}
function wpml_wpseo_desc( $title, $presentation ) {
switch ( $presentation->model->object_type ) {
case 'post-type-archive':
$key = 'metadesc-ptarchive-' . $presentation->model->object_sub_type;
break;
case 'system-page':
$key = 'metadesc-' . $presentation->model->object_sub_type . '-wpseo';
break;
default:
$key = false;
}
if ( $key ) {
$option = get_option( 'wpseo_titles' );
if ( isset( $option[ $key ] ) ) {
$title = wpseo_replace_vars( $option[ $key ], $presentation );
}
}
return $title;
}
add_filter( 'wpseo_save_indexable', function( $indexable ) {
$args = [
'element_id' => $indexable->object_id,
'element_type' => $indexable->object_type,
];
$language_code = apply_filters( 'wpml_element_language_code', false, $args );
$indexable->permalink = apply_filters( 'wpml_permalink', $indexable->permalink, $language_code, true );
return $indexable;
} );
Sau khi thêm mã, hãy cài đặt plugin Yoast Test Helper.
Truy cập Công cụ > Yoast Test và nhấp vào “Reset Indexables tables & migrations”.
Cuối cùng, hãy truy cập Bảng điều khiển của bạn và nhấp vào thông báo trên trang quản trị yêu cầu bạn lập chỉ mục trang web.
Nếu bạn có bất kỳ câu hỏi nào hoặc muốn báo cáo một vấn đề liên quan, vui lòng đề cập đến lỗi đã ghi nhận này để nhóm của chúng tôi có thể cung cấp cho bạn sự hỗ trợ hiệu quả.