Chức năng chính
Mục đích để cập nhật văn bản thay thế cho ảnh số lượng lớn. Tránh việc các công cụ tìm kiếm đánh giá nội dung kém chất lượng
Cách sử dụng
Các bạn bỏ code vào file function.php và lưu lại. Nên sao lưu dữ liệu trước khi chạy code để tránh việc website bị lỗi và nhớ gỡ code sau khi đã thực hiện xong. Chúc bạn thành công nhé!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
/** * Auto-generate alt text from image titles for existing images in the media library. */ function auto_generate_alt_text_from_titles() { // Get all attachments (images) from the media library $attachments = get_posts(array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_mime_type' => 'image', )); foreach ($attachments as $attachment) { // Get the current alt text $current_alt_text = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true); // Only update alt text if it doesn't exist if (empty($current_alt_text)) { // Get the image title $image_title = get_the_title($attachment->ID); // Update alt text with the image title update_post_meta($attachment->ID, '_wp_attachment_image_alt', $image_title); // Optionally, you can display a message for each updated alt text echo "Alt text for {$attachment->post_title} set to: {$image_title}<br>"; } } // Get all products $products = get_posts(array( 'post_type' => 'product', 'numberposts' => -1, )); foreach ($products as $product) { // Get the product content $product_content = $product->post_content; // Find all image tags in the product content preg_match_all('/<img[^>]+>/i', $product_content, $matches); foreach ($matches[0] as $image_tag) { // Extract the image source from the image tag preg_match('/src="([^"]+)"/', $image_tag, $src_match); if (!empty($src_match[1])) { // Get the attachment ID from the image source $attachment_id = attachment_url_to_postid($src_match[1]); // Get the image title $image_title = get_the_title($attachment_id); // Update alt text with the image title update_post_meta($attachment_id, '_wp_attachment_image_alt', $image_title); // Optionally, you can display a message for each updated alt text echo "Alt text for image in product {$product->post_title} set to: {$image_title}<br>"; } } } } add_action('admin_init', 'auto_generate_alt_text_from_titles'); |