これは非常に単純なことなので、おそらくここで明らかな何かが欠けていますが、何らかの理由でこの WP クエリを機能させることができません。ユーザーが現在アクセスしているカテゴリ ページからのみ投稿をクエリしたい (get_the_category を使用)。そのようです -
$category = get_the_category();
$category_id = $category[0]->cat_ID;
$category_items = new WP_Query( array(
'post_type' => 'post',
'cat' => $category_id,
'showposts' => -1,
'orderby' => 'rand'
)
);
$category_id はカテゴリ ページの正しい ID を提供しますが、WP クエリ内でそれを参照すると、クエリはカテゴリに関係なくすべての投稿を取得します。