за дозволи в ролях відповідають capabilities, але фішка з ними в тому, шо вони не роздліяються по додаткових умовах типу is_category(). Наприклад, є edit_posts - ця capability дозволяє юзеру створювати/редагувати свої пости. з категоріями тут фокус - бо права на редагування перевіряються при завантаженні сторінки, а категорію потім вже редагуючи можна поміняти, тому така перевірка буде кривою. Теоретично можна пробувати через хук
https://codex.wordpress.org/Plugin_API/Filter_Reference/user_has_cap але чесно кажучи то трошки дічь 🙂
замість того шоб колупатися з capabilities, я б радив спростити задачу і зайти з іншого боку. умовно кажучи, задача полягає в тому, шоб юзер міг постити лише в обрану категорію. Для цього достатньо відфільтрувати список категорій, і вивести туди лише ту, в яку він може додавати. Якщо їх кілька - тоді виводити список з дозволених категорій. Якшо вона завжди одна, то можна взагалі метабокс категорій сховати нафіг, а на хуку save_post через код її назначати для поста