siccome i sottoscrittori non possono creare tassonomine volevo estendere la loro capacita
chatgpt
Chiaro.
**Sì, puoi estendere le capacità dei sottoscrittori**, ma **non lo fai da JetEngine** e **non lo fai solo con “Capability Type”**.
Vado dritto al punto.
—
## Perché ora i sottoscrittori non possono creare termini
Il ruolo **subscriber** per default **non ha nessuna capability di tassonomia**, nemmeno quelle base (`assign_terms`, `edit_terms`, ecc.).
JetEngine:
* **definisce** le capability (con *Capability Type*)
* **non le assegna ai ruoli**
—
## Cosa devi fare (schema corretto)
### 1️⃣ In JetEngine – Tassonomia
Nel campo **Capability Type** imposti, ad esempio:
“`
progetti
“`
Questo fa nascere queste capability:
* `assign_progetti`
* `edit_progetti`
* `manage_progetti`
* `delete_progetti`
👉 **solo definizione**, nessun permesso concesso
—
### 2️⃣ Estendere il ruolo *subscriber*
Devi **aggiungere le capability al ruolo**.
Puoi farlo in due modi:
—
## Metodo A — codice (pulito, stabile)
“`php
add_action( ‘init’, function() {
$role = get_role( ‘subscriber’ );
if ( $role ) {
$role->add_cap( ‘assign_progetti’ );
$role->add_cap( ‘edit_progetti’ );
// NON aggiungere manage/delete se non vuoi che creino o cancellino termini
}
});
“`
👉 Con questo:
* possono **assegnare** termini già esistenti
* possono **crearne di nuovi** se aggiungi `edit_progetti`
* **non possono amministrare tutto** se eviti `manage_progetti`
—
## Metodo B — plugin ruoli (User Role Editor / Members)
Assegni manualmente:
* `assign_progetti`
* `edit_progetti` (solo se vuoi che creino termini)
Funziona identico, solo via UI.
—
## Punto cruciale (da non sbagliare)
Se dai:
* ✅ `assign_progetti` → possono usare la tassonomia
* ⚠️ `edit_progetti` → possono **creare nuovi termini**
* ❌ `manage_progetti` → possono **gestire tutto** (da evitare per sottoscrittori)
—
## Sintesi netta
* JetEngine **non estende ruoli**
* `Capability Type` **serve ma non basta**
* Devi **aggiungere capability al ruolo subscriber**
* Scegli **solo quelle minime** (`assign` / `edit`)
Se vuoi, nel prossimo messaggio dimmi **esattamente**:
* solo assegnare?
* creare nuovi termini?
* solo sui propri post?
E rispondo **solo con la configurazione precisa**.