<?php
/**
 * Social Activities Block Template
 * 社会活动区块模板
 *
 * @package Nenghui Energy Theme
 * @since 1.0.0
 *
 * @param array $args {
 *     Optional. Array of arguments.
 *     @type int    $category_id  文章分类ID，默认为8
 *     @type int    $posts_count  显示文章数量，默认为3
 *     @type string $title        区块标题，默认为"社会责任"
 * }
 */

// 设置默认参数
$defaults = array(
    'category_id'     => 8,
    'posts_count'     => 3,
    'title'           => '社会责任'
);

$args = wp_parse_args($args ?? array(), $defaults);

// 构建查询参数
$query_args = array(
    'post_type'      => 'post',
    'post_status'    => 'publish',
    'posts_per_page' => $args['posts_count'],
    'orderby'        => 'date',
    'order'          => 'DESC',
    'cat'            => intval($args['category_id'])
);

// 尝试获取缓存
$cache_key = 'social_activities_' . md5(serialize($query_args) . (function_exists('get_theme_cache_version') ? get_theme_cache_version() : ''));
$posts = get_transient($cache_key);

if ($posts === false) {
    // 执行查询
    $social_activities_query = new WP_Query($query_args);
    $posts = $social_activities_query->posts;
    
    // 如果有文章，设置缓存（缓存1小时）
    if (!empty($posts)) {
        set_transient($cache_key, $posts, 3600);
    }
}

// 如果没有文章，显示提示信息
if (empty($posts)) {
    wp_reset_postdata();
    echo '<div class="social-activities-container"><div class="social-activities-header"><h2>' . esc_html($args['title']) . '</h2></div><div class="no-posts-message"><p>暂无相关文章</p></div></div>';
    return;
}

// 获取分类链接
$category_link = get_category_link($args['category_id']);
?>

<div class="social-activities-container">
    <div class="social-activities-header">
        <h2><?php echo esc_html($args['title']); ?></h2>
    </div>
    
    <div class="social-activities-grid">
        <?php foreach ($posts as $post): ?>
            <?php setup_postdata($post); ?>
            <div class="social-activity-card">
                <div class="activity-image">
                    <?php if (has_post_thumbnail($post->ID)): ?>
                        <img src="<?php echo esc_url(get_the_post_thumbnail_url($post->ID, 'medium')); ?>" 
                             alt="<?php echo esc_attr(get_the_title($post->ID)); ?>" 
                             loading="lazy">
                    <?php else: ?>
                        <div class="placeholder-image">
                            <span>暂无图片</span>
                        </div>
                    <?php endif; ?>
                </div>
                <div class="activity-content">
                    <h3 class="activity-title">
                        <a href="<?php echo esc_url(get_permalink($post->ID)); ?>">
                            <?php echo esc_html(get_the_title($post->ID)); ?>
                        </a>
                    </h3>
                    <div class="activity-excerpt">
                        <?php 
                        $excerpt = get_the_excerpt($post->ID);
                        if (empty($excerpt)) {
                            $excerpt = wp_trim_words(strip_tags($post->post_content), 20, '...');
                        }
                        echo esc_html($excerpt);
                        ?>
                    </div>
                    <div class="activity-meta">
                        <span class="activity-date">
                            <?php echo esc_html(get_the_date('Y.m.d', $post->ID)); ?>
                        </span>
                        <a href="<?php echo esc_url(get_permalink($post->ID)); ?>" class="activity-link">
                            查看详情 →
                        </a>
                    </div>
                </div>
            </div>
        <?php endforeach; ?>
    </div>
    
    <div class="social-activities-footer">
        <a href="<?php echo esc_url($category_link); ?>" class="view-more-btn">
            查看更多 →
        </a>
    </div>
</div>

<?php
// 重置全局 $post 对象
wp_reset_postdata();
?>