require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; $upload_dir = WP_CONTENT_DIR . '/uploads/rhs1977/'; $files = [ ['cover-hero.webp', 'Cover Hero RHS 1977 Yearbook'], ['memoriam-kerry-berger.webp', 'In Memoriam Kerry Berger'], ['memoriam-doug-perrault.webp', 'In Memoriam Doug Perrault'], ['memoriam-paul-peterson.webp', 'In Memoriam Paul Peterson'], ['talisman-seal-crop.webp', 'Talisman Seal RHS 1977'], ['illustration-ink-portrait.webp', 'Ink Portrait Illustration'], ['back-cover-texture.webp', 'Back Cover Texture'], ['gallery-class-group-photos.webp', 'Class Group Photos'], ['gallery-collage-spread.webp', 'Collage Spread'], ['gallery-friends-spread.webp', 'Friends Spread'], ['gallery-portrait-spread-1.webp', 'Portrait Spread 1'], ['gallery-portrait-spread-2.webp', 'Portrait Spread 2'], ['gallery-winter-sports-spread.webp','Winter Sports Spread'], ['section-friends-dark-header.webp','Friends Section Header'], ['section-winter-sports-header.webp','Winter Sports Section Header'], ]; $results = []; foreach ($files as [$filename, $title]) { $filepath = $upload_dir . $filename; if (!file_exists($filepath)) { $results[] = ['file' => $filename, 'status' => 'missing']; continue; } $existing = get_posts([ 'post_type' => 'attachment', 'meta_key' => '_wp_attached_file', 'meta_value' => 'rhs1977/' . $filename, 'posts_per_page' => 1, ]); if ($existing) { $results[] = ['file' => $filename, 'status' => 'exists', 'id' => $existing[0]->ID, 'url' => wp_get_attachment_url($existing[0]->ID)]; continue; } $att = [ 'post_mime_type' => 'image/webp', 'post_title' => $title, 'post_content' => '', 'post_status' => 'inherit', ]; $id = wp_insert_attachment($att, $filepath, 0); if (is_wp_error($id)) { $results[] = ['file' => $filename, 'status' => 'error', 'msg' => $id->get_error_message()]; continue; } update_post_meta($id, '_wp_attached_file', 'rhs1977/' . $filename); $sz = @getimagesize($filepath); wp_update_attachment_metadata($id, ['width'=>$sz[0]??0,'height'=>$sz[1]??0,'file'=>'rhs1977/'.$filename,'sizes'=>[]]); $results[] = ['file' => $filename, 'status' => 'created', 'id' => $id, 'url' => wp_get_attachment_url($id)]; } echo json_encode($results, JSON_PRETTY_PRINT); https://rhs.got2web.dev/2026-09-22T15:40:42+00:00https://rhs.got2web.dev/sample-page/2026-09-22T15:40:42+00:00