In majoritatea cazurilor un blog are pe prima pagina, in format paginat, link catre fiecare articol scris. Daca dorim ca anumite categorii sa le excludem, putem folosi functia in_category() in bucla principala a blogului.


Bucla principala o gasim in fisierul index.php si o putem identifica dupa clauza if() care verifica rezultatul functiei have_posts(). Un exemplu ar fi urmatorul:

if (have_posts()){
      while (have_posts())
      {
              the_post();
              // Afisare continut
      }
}

Practic se verifica daca exista articole ce urmeaza a fi afisate, folosind functia have_posts(). Daca exista, se intra in bucla de afisare. Ca sa excludem o categorie, folosim functia in_category() si structura de control continue dupa apelarea functiei the_post(), ca in exemplul urmator:

if (have_posts()){
      while (have_posts())
      {
              the_post();
              if( in_category( '3' ) ) continue;
              // Afisare continut
      }
}

La rularea codului, daca articolul verificat este in categoria nr. 3, se trece mai departe fara a se rula continutul buclei. Daca dorim sa excludem mai multe categorii, putem folosi in loc de numarul categoriei un array care sa contina numerele categoriilor. De exemplu, pentru a exclude categoriile 2, 3 si 6 vom avea urmatorul cod:

if (have_posts()){
      while (have_posts())
      {
              the_post();
              if( in_category( array('2', '3', '6') ) ) continue;
              // Afisare continut
      }
}

La afisarea paginii articolele din categoriile mentionate nu vor fi afisate.