Come disabilitare l'accesso alle pagine delle categorie
Voglio che le mie categorie rimangano attive ma allo stesso tempo desidero rendere inaccessibili le pagine delle categorie. È possibile? Se sì, come?
Perché voglio farlo? (Questo potrebbe aiutare)
Sto lavorando a un sito UGC (contenuto generato dagli utenti). Mi è stato chiesto di modificare gli URL da /category/nome-categoria
a /nome-categoria
. Inoltre devo aggiungere un'altra pagina /nome-categoria/add
dove gli utenti possono pubblicare contenuti solo per una categoria specifica. Non è possibile aggiungere la pagina /nome-categoria/add
finché non creo una pagina (non la pagina della categoria) /nome-categoria
. Se creo una pagina /nome-categoria
, entrerà in conflitto con la pagina della categoria /nome-categoria
. Ecco perché ho pensato di disabilitare la pagina della categoria /nome-categoria
e usare una pagina normale in /nome-categoria
per elencare i post della categoria.

Puoi aggiungere qualcosa come questo nel tuo file category.php.
if ( ! is_admin() ) {
wp_redirect( home_url() );
exit;
}
Questo reindirizzerà i visitatori alla homepage del sito, ma le pagine delle categorie rimarranno attive e accessibili solo agli amministratori.

la modifica dei file di wp non è ciò che mi è permesso fare . . . .

category.php è un file del tema, non un file del core. (supponendo che sia questo ciò che intendi con "file di wp")

Dovrai fare almeno due cose (possibilmente di più, non ci ho pensato fino in fondo), nella sua forma più semplice:
Impedire che gli elenchi delle categorie generino collegamenti:
Dovresti emulare
get_the_category_list()
e creare il tuo elenco di categorie senza ancore, oppure potresti semplicemente filtrare i tag<a>
:add_filter( 'the_category', function ( $thelist, $sep, $parents ) { return strip_tags( $thelist, '<ul><li>' ); } );
Reindirizzare gli URL delle categorie da qualche parte.
category.php
<?php wp_redirect( home_url() );
