Sebbene ciò sia perfettamente possibile dal punto di vista tecnico, penso che l’approccio sarebbe troppo complicato, soprattutto perché “all’inizio” è difficile da definire/rilevare, e si vuole evitare che il plugin continui ad aggiungere B dopo che l’amministratore del sito l’ha rimosso. Inoltre, quando viene aggiunta una nuova categoria privata, il plugin dovrebbe aggiungerla, ma dovrebbe essere in grado di vedere la differenza tra una nuova categoria (aggiungi) e una categoria che era stata precedentemente rimossa dall’amministratore (non riaggiungere).
Opterei per un’impostazione include_private_categories che inizia vuota, e il plugin elaborerebbe semplicemente tutte le categorie pubbliche E le categorie in include_private_categories. Questo ti darà molti meno mal di testa.