Tự động thêm tiêu đề hình ảnh, chú thích, văn bản thay thế, mô tả trong khi tải lên hình ảnh trong WordPress


7

Bất cứ ai cũng có thể cho tôi biết cách tự động điền / thêm tiêu đề hình ảnh giống nhau trong tiêu đề, chú thích, văn bản thay thế và mô tả trong khi tải lên bất kỳ hình ảnh nào trong Bài đăng WordPress của tôi.

ảnh chụp màn hình mong muốn

Câu trả lời:


2

Bạn có thể nối vào hành động 'add_attachment' từ wp-gồm / post.php Line: 3332. (Phiên bản 4.4) Nó vượt qua trong post_id và từ đó bạn có thể lấy tên tệp và sau đó cập nhật meta bài đăng với bất cứ điều gì bạn cần.

Tham khảo lấy từ

add_action( 'add_attachment', 'wpse_125805_add_image_meta_data' );

function wpse_125805_add_image_meta_data( $attachment_ID ) {

    $filename   =   $_REQUEST['name']; // or get_post by ID
    $withoutExt =   preg_replace('/\\.[^.\\s]{3,4}$/', '', $filename);
    $withoutExt =   str_replace(array('-','_'), ' ', $withoutExt);

    $my_post = array(
        'ID'           => $attachment_ID,
        'post_excerpt' => $withoutExt,  // caption
        'post_content' => $withoutExt,  // description
    );
    wp_update_post( $my_post );

    // update alt text for post
    update_post_meta($attachment_ID, '_wp_attachment_image_alt', $withoutExt );
}

2

added_post_metacó vẻ như một thời điểm tốt để nối vào một hình ảnh mới. Không chỉ là meta mặc định đã được thiết lập mà chức năng còn cung cấp cho bạn $post_idcùng với $meta_valueđó là siêu dữ liệu đính kèm. Từ đó bạn có thể lấy tất cả các trường và đặt những cái bạn muốn.

add_action('added_post_meta', 'wpse_20151219_after_post_meta', 10, 4);

function wpse_20151219_after_post_meta($meta_id, $post_id, $meta_key, $meta_value) {

    // _wp_attachment_metadata added
    if($meta_key === '_wp_attachment_metadata') {

        // ----------------------------------------------------------------------
        // POST
        // ----------------------------------------------------------------------

        // Change basic fields on attachment post
        wp_update_post(array(
                           'ID'           => $post_id,
                           'post_title'   => "This is a TITLE for $post_id",
                           'post_content' => "This is the DESCRIPTION for $post_id",
                           'post_excerpt' => "This is the CAPTION for $post_id",
                       ));

        // ----------------------------------------------------------------------
        // POST META
        // ----------------------------------------------------------------------

        // Change ALT Text
        update_post_meta($post_id, '_wp_attachment_image_alt', "This is the ALT Text for $post_id");

        // Add Custom Field
        update_post_meta($post_id, '_wpse_20121219_my_custom_meta', 'MyCustomMetaValue');

        // ----------------------------------------------------------------------
        // POST META ( ATTACHMENT METADATA )
        // ----------------------------------------------------------------------

        // Change Image Metadata
        $meta_value[ 'image_meta' ] = array_merge($meta_value[ 'image_meta' ], array(
            'credit'    => 'https://black-buddha.com',
            'camera'    => 'The Best Camera EVER!',
            'copyright' => date('Y'),
            'title'     => "This is a META TITLE for $post_id",
            'caption'   => "This is a META CAPTION for $post_id",
        ));

        // Update The Image Metadata
        wp_update_attachment_metadata($post_id, $meta_value);

        // _wp_attached_file
        // _wp_attachment_metadata (serialized)
        // _wp_attachment_image_alt
        // _wpse_20121219_my_custom_meta

        $attachment_meta = get_post_meta($post_id);

        // width
        // height
        // file
        // sizes
        // image_meta
        //      aperture
        //      credit
        //      camera
        //      caption
        //      created_timestamp
        //      copyright
        //      focal_length
        //      iso
        //      shutter_speed
        //      title
        //      orientation
        //      title
        //      keywords

        $attachment_metadata = wp_get_attachment_metadata($post_id);
    }
}

Xin vui lòng không đăng các bản sao, gắn cờ bài viết dưới dạng trùng lặp nếu có.
Pieter Goosen

1

Đối với một giải pháp đơn giản hơn, bạn có thể sử dụng plugin WordPress này mà tôi đã thực hiện một lúc trước.

Plugin đi kèm với một trình cập nhật hàng loạt cũng sẽ cập nhật các thuộc tính hình ảnh cho hình ảnh đã có trong thư viện phương tiện của bạn nếu bạn cũng muốn làm điều đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.