<?php //子テーマ用関数
if ( !defined( 'ABSPATH' ) ) exit;

//子テーマ用のビジュアルエディタースタイルを適用
add_editor_style();

//以下に子テーマ用の関数を書く
// 投稿ごとのPV数を記録
function set_post_views() {
    if (is_single()) {
        global $post;
        $post_id = $post->ID;
        $views = get_post_meta($post_id, 'post_views_count', true);
        $views = $views ? $views + 1 : 1;
        update_post_meta($post_id, 'post_views_count', $views);
    }
}
add_action('wp_head', 'set_post_views');
function show_related_by_popular_titles() {
    global $wpdb;

    // PV数が多い記事（トップ5）を取得
    $popular_posts = $wpdb->get_results("
        SELECT post_id FROM {$wpdb->prefix}postmeta
        WHERE meta_key = 'post_views_count'
        ORDER BY CAST(meta_value AS UNSIGNED) DESC
        LIMIT 5
    ");

    if (!$popular_posts) return '<p>関連記事が見つかりませんでした。</p>';

    $related_ids = [];
    foreach ($popular_posts as $post) {
        $title = get_the_title($post->post_id);
        $related_query = new WP_Query([
            'post_type' => 'post',
            'posts_per_page' => 3,
            's' => $title,
            'post__not_in' => [$post->post_id]
        ]);
                $thumbnail = get_the_post_thumbnail($id, 'thumbnail'); // サイズ: thumbnail
                $excerpt = get_the_excerpt($id);

                echo '<li style="margin-bottom: 15px;">';
                echo '<a href="' . esc_url($permalink) . '" style="display: flex; gap: 10px; align-items: flex-start;">';

                if ($thumbnail) {
                    echo '<div class="related-thumb" style="flex-shrink:0;">' . $thumbnail . '</div>';
                }

                echo '<div class="related-content">';
                echo '<strong>' . esc_html($title) . '</strong><br>';
                echo '<small style="display: block; font-size: 0.85em; color: #666;">' . esc_html(wp_trim_words($excerpt, 20)) . '</small>';
                echo '</div>';

                echo '</a>';
                echo '</li>';
            }
            echo '</ul>';
        } else {
            echo '<p>関連記事が見つかりませんでした。</p>';
        }

        echo $args['after_widget'];
    }

    public function form($instance) {
        echo '<p>このウィジェットには設定項目はありません。</p>';
    }
}

function register_related_by_popular_widget() {
    register_widget('Related_By_Popular_Widget');
}
add_action('widgets_init', 'register_related_by_popular_widget');
