Cum să dezactivezi accesul la paginile de categorii

9 sept. 2014, 12:18:50
Vizualizări: 16.4K
Voturi: 2

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.

4
Comentarii

Doriți ca categoriile să fie active pentru organizare în backend-ul site-ului, dar nu active în frontend? Ar putea ajuta să adăugați mai multe detalii despre problema dumneavoastră.

Chris Morris Chris Morris
9 sept. 2014 12:32:02

@ChrisMorris, actualizarea a fost de ajutor? Și... Este în regulă dacă paginile de categorii nu sunt accesibile în backend...

Tabrez Ahmed Tabrez Ahmed
9 sept. 2014 12:49:30

Citind celelalte postări ale tale am obținut o oarecare clarificare. Totuși nu sunt sigur care este scopul final pe care îl urmărești. Ce anume încerci să construiești?

Chris Morris Chris Morris
9 sept. 2014 12:53:40

@ChrisMorris, Sper că actualizarea întrebării îți răspunde la întrebare.

Tabrez Ahmed Tabrez Ahmed
9 sept. 2014 13:20:39
Toate răspunsurile la întrebare 2
4

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.

9 sept. 2014 12:28:15
Comentarii

editarea fișierelor wp nu este ceva ce am voie să fac...

Tabrez Ahmed Tabrez Ahmed
9 sept. 2014 12:52:12

Sper că actualizarea întrebării ajută...

Tabrez Ahmed Tabrez Ahmed
9 sept. 2014 12:52:28

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

totels totels
9 sept. 2014 12:56:12

Oops, scuze. Dar m-am gândit să implementez o soluție universală pentru toate temele.

Tabrez Ahmed Tabrez Ahmed
9 sept. 2014 13:24:32
0

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ă:

  1. 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>' );
    } );
    
  2. Redirecționați URL-urile categoriilor către altundeva.

    category.php

    <?php wp_redirect( home_url() );
    
9 sept. 2014 12:54:29