WPML
apply_filters( 'wpml_duplicate_generic_string', string $value_to_filter, string $target_language, array $meta_data )
Loại
filter
Danh mục
Khác
Phiên bản WPML
3.2

Miêu tả

WPML áp dụng bộ lọc hook này cho các giá trị trường tùy chỉnh, nội dung bài viết, tiêu đề bài viết và tóm tắt bài viết khi một loại bài viết WordPress đang được nhân bản và trước khi dữ liệu được lưu vào cơ sở dữ liệu. Bằng cách này, dữ liệu được cung cấp cho các giao diện và plugin bên ngoài để lọc.

Đối số

$value_to_filter
(string) (Bắt buộc) Chuỗi dữ liệu để lọc
$target_language
(string) (Tùy chọn) Mã ngôn ngữ đích
$meta_data
(array) (Tùy chọn) Xem chi tiết bên dưới:
  • context(string) Ngữ cảnh dữ liệu. Đặt thành “custom_field” nếu giá trị thuộc về một trường tùy chỉnh và “post” cho tất cả các trường hợp khác (tiêu đề bài viết, nội dung hoặc đoạn trích)
  • attribute(string) Đặt thành: “value” cho các trường tùy chỉnh, “content” cho nội dung bài viết, “title” cho tiêu đề bài viết, “excerpt” cho đoạn trích bài viết
  • key(string) $post_meta->meta_key nếu bộ lọc đang được áp dụng cho các giá trị trường tùy chỉnh. Nếu không, đây là ID của bài viết gốc đóng vai trò là bản chính để nhân bản
  • $is_serialized(bool) Chỉ được truyền cho dữ liệu trường tùy chỉnh. true|false Cho biết dữ liệu có được tuần tự hóa hay không. Điều này cho phép hủy tuần tự hóa giá trị nếu cần.
  • post_id(int) Chỉ được truyền cho dữ liệu trường tùy chỉnh. ID của bài viết đang được nhân bản
  • master_post_id(int) Chỉ được truyền cho dữ liệu trường tùy chỉnh. ID của bài viết gốc đóng vai trò là bản chính để nhân bản

Ví dụ sử dụng

Một ví dụ cơ bản
function my_override_post_duplication( $value_to_filter, $target_language, $meta_data ) {
    $context = $meta_data[ 'context' ];
    if ( $value_to_filter !== '' && $context ) {
        $prefix = '';

        $attribute = $meta_data[ 'attribute' ];
        if ( $context == 'post' ) {
            switch ( $attribute ) {
                case 'content':
                    $prefix = '<h3>' . $target_language . '</h3>';
                    break;
                case 'excerpt':
                    $prefix = $target_language . "nn";
                    break;
                default:
                    $prefix = '[' . $target_language . '] ';
            }
        } elseif ( $context == 'custom_field' && $attribute == 'value' ) {
            $is_serialized = $meta_data[ 'is_serialized' ];
            if ( ! $is_serialized && is_string( $value_to_filter ) && ! is_numeric( $value_to_filter ) ) {
                $prefix = '[' . $target_language . '] ';
            }
        }

        if($prefix) {
            $value_to_filter = $prefix . $value_to_filter;
        }
    }

    return $value_to_filter;
}

add_filter( 'wpml_duplicate_generic_string', 'my_override_post_duplication', 10, 3 );

icl_ls_languages, wpml_sync_custom_field_copied_value, wpml_ls_enable_ajax_navigation, wpml_element_type, wpml_setting, wpml_sub_setting, wpml_exclude_post_from_auto_translate, wpml_forms_config_ninja-forms, wpml_forms_config_wpforms, wpml_tf_feedback_open_link

Tất cả 30 hook Khác →