moon1008さん、こんにちは。
ピンポイントの解決方法があるわけではありませんが、いくつかヒントになればと思います。
閲覧者が自由に選べるようにできる方法
これを実現するには、まず閲覧者が「誰か」を判断できる必要があります。個人を特定するのではなくて、今見ている人が以前見ていた人と同じであるのか、違うのか等の判断が必要だということです。
上記を実現するにはいくつか方法がありますが、ひとつはログインさせてユーザーを認証する方法、もうひとつは cookie を食べさせて同じブラウザを認識する方法です。
具体的にいうと、カテゴリなどを選択させる必要があるため、例えばチェックボックス等の入力欄を用意して、そこに入力した設定を覚えさせる必要があります。そうでなければサイトに訪れるたびに非表示にしたいカテゴリや言葉をチェックする必要があるため非効率です。
不要なカテゴリを非表示にする案ですが、これもいくつか考えられます。
おそらく最も簡単な方法は、カテゴリにそれぞれ class を付与しておいて、チェックボックスが ON になった際に display: none; を指定する方法です。
よく CSS のみで実装するアコーディオンなどで隠れたチェックボックスが ON になるとアコーディオンが開くなどの仕組みがありますが、あれの応用ですね。
もちろん JavaScript を使用しても同様のことが可能かと思われます。WordPress の場合は安易なのは jQuery での実装でしょうか。この場合も上記と同様に class 指定を行っていた方が処理が行いやすいでしょう。
閲覧者自ら特定のカテゴリを選択したりすればできますが
これは単純にカテゴリーページのことを言っているのかもしれませんが、これも応用で可能だと思います。ただし、特定のカテゴリーが非表示のテンプレートを作るなどは非効率なので、チェックボックスが ON のカテゴリーをループで除外する指定を動的に組み込む必要があると思われます。
$query = new WP_Query( 'cat=-3,-8' );
詳しくは Codex を調べてみてください。
ご参考になれば。