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.
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.
Câu trả lời:
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.
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 );
}
added_post_meta
có 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_id
cù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);
}
}
Đố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 đó.