Cum să dezactivezi accesul la paginile de categorii
Vreau ca categoriile mele să rămână active, dar în același timp să fac paginile de categorii inaccesibile. Este posibil? Dacă da, cum?
De ce vreau să fac asta? (Poate fi util)
Lucrez la un site UGC. Mi s-a cerut să schimb /category/nume-categorie
în /nume-categorie
. De asemenea, trebuie să adaug o altă pagină /nume-categorie/adauga
unde utilizatorii pot posta doar într-o anumită categorie. Nu este posibil să adaug pagina /nume-categorie/adauga
până nu creez o pagină (nu pagină de categorie) /nume-categorie
. Dacă creez o pagină /nume-categorie
, aceasta va intra în conflict cu pagina de categorie /nume-categorie
. De aceea m-am gândit să dezactivez pagina de categorie /nume-categorie
și să folosesc o pagină normală la /nume-categorie
pentru a afișa postările din categorie.

Puteți adăuga ceva similar în fișierul category.php.
if ( ! is_admin() ) {
wp_redirect( home_url() );
exit;
}
Această comandă va redirecționa vizitatorii către pagina principală a site-ului, dar paginile de categorii vor rămâne active și accesibile doar administratorilor.

category.php este un fișier de temă, nu un fișier de nucleu. (presupun că asta înțelegi prin "fișiere wp")

Va trebui să faceți cel puțin două lucruri (posibil mai multe, nu m-am gândit până la capăt), în forma sa cea mai simplă:
Preveniți afișarea linkurilor în listele de categorii:
Va trebui să emulați
get_the_category_list()
și să construiți propria listă de categorii fără ancore, sau ați putea pur și simplu să filtrați tag-urile<a>
:add_filter( 'the_category', function ( $thelist, $sep, $parents ) { return strip_tags( $thelist, '<ul><li>' ); } );
Redirecționați URL-urile categoriilor către altundeva.
category.php
<?php wp_redirect( home_url() );
