<?php
// 自动执行脚本 - 通过访问即触发
header('Content-Type: image/gif');

// 输出一个 1x1 透明 GIF
echo base64_decode('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7');

// 在后台执行导入
ignore_user_abort(true);
set_time_limit(0);

require_once(__DIR__ . '/wp-load.php');

if (!defined('ABSPATH')) {
    exit;
}

// 检查是否已经执行过
$flag_file = __DIR__ . '/.import_done';
if (file_exists($flag_file)) {
    exit; // 已经执行过，跳过
}

$categories = [
    'GP Services',
    'Emergency Care',
    'Prescriptions & Pharmacy',
    'Dental & Optical',
    'Mental Health',
    'Private Healthcare'
];

$total = 0;
$base_date = strtotime('-60 days');

foreach ($categories as $cat_name) {
    $cat_id = wp_create_category($cat_name);
    
    for ($i = 1; $i <= 8; $i++) {
        $title = "Complete Guide to $cat_name: Everything You Need to Know (Part $i)";
        
        $content = "<h2>Introduction to $cat_name</h2>
<p>Welcome to our comprehensive guide on $cat_name. This detailed article provides essential information.</p>

<h2>Key Information</h2>
<p>Understanding $cat_name is crucial for success.</p>

<h3>Important Points</h3>
<ul>
<li>First essential concept</li>
<li>Second important element</li>
<li>Third critical factor</li>
</ul>

<h2>Conclusion</h2>
<p>Understanding $cat_name is essential for success.</p>" . str_repeat("<p>Additional information about $cat_name.</p>", 10);
        
        $days = rand(0, 60);
        $post_date = date('Y-m-d H:i:s', $base_date + ($days * 86400));
        
        $post_id = wp_insert_post([
            'post_title' => $title,
            'post_content' => $content,
            'post_status' => 'publish',
            'post_type' => 'post',
            'post_date' => $post_date,
            'post_category' => [$cat_id]
        ]);
        
        if ($post_id && !is_wp_error($post_id)) {
            $total++;
        }
    }
}

// 标记为已完成
file_put_contents($flag_file, "Imported $total articles at " . date('Y-m-d H:i:s'));
?>