X

Cum să numeri toate postările dintr-o categorie în WordPress

Fragmente de IsItWP

Căutați o modalitate de a număra toate postările dintr-o categorie și de a le afișa în WordPress? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a număra toate postările dintr-o categorie în WordPress.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

function count_cat_post($category) {
if(is_string($category)) {
	$catID = get_cat_ID($category);
}
elseif(is_numeric($category)) {
	$catID = $category;
} else {
	return 0;
}
$cat = get_category($catID);
return $cat->count;
}

Puteți utiliza acest cod pentru a afișa numărul de postări dintr-o categorie oriunde pe site-ul dvs., fie după ID-ul categoriei, fie după numele categoriei:

<?php

// echo  count_cat_post('1');
// echo  count_cat_post('General');

?>

Pur și simplu eliminați '//' de pe oricare dintre liniile de cod pentru a-l utiliza.

Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă ți-a plăcut acest fragment de cod, te rugăm să iei în considerare și celelalte articole de pe site, cum ar fi: cele mai bune 15 instrumente de marketing de conținut și cum să creezi un formular de contact în WordPress.

Comentarii   Lasă un răspuns

  1. Oussama Jarmouni March 6, 2022 at 4:53 pm

    Salut,
    Cum pot folosi aceeași funcție, dar cu relația 'ȘI'.

    vor fi returnate doar postările care au ambele categorii.

  2. Md. Yasin Siddiquee August 11, 2020 at 11:58 am

    Cum putem transmite ID-ul sau numele dinamic?

    1. Puteți transmite o variabilă funcției. De exemplu, ați putea transmite primul ID de categorie returnat de funcția get_the_category(): https://developer.wordpress.org/reference/functions/get_the_category/

      Rețineți că acest lucru necesită lucrul cu tablouri și obiecte, deoarece valoarea returnată de get_the_category() este un tablou de obiecte.

      De exemplu, ați putea folosi:

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Obține primul id

  3. Cu cea mai recentă versiune de WP, au existat unele erori legate de funcționarea corectă a tuturor acestora din prima, așa că dacă altcineva are probleme:


    function count_cat_post($catslug){
    $CategoryTerms = get_term_by('slug', $catslug, 'category');
    if(!$CategoryTerms){
    return 0;
    }
    return $CategoryTerms->count;
    }

    1. Salut Jason,
      Mulțumim pentru asta. Cu toate acestea, am reușit să testăm pe WordPress 5.4 și funcționează pentru noi fără erori.

  4. DE ASEMENEA,

    folosiți get_the_category deoarece get_category va genera erori cu cele mai recente versiuni de wordpress pe orice element care are postări și va returna 0 pe cele care nu au, cauzând o mică dilemă de depanare.

    1. Nu vedem acest lucru. Ce mesaj de eroare primiți?

  5. de asemenea, este:

    return $cat->category_count;

    deoarece count este o funcție php.

    1. $cat este un obiect WP_Term, cu count fiind o proprietate publică de tip int.

  6. există vreo modalitate de a nu introduce numele sau id-ul categoriei? am atât de multe categorii. nu pot veni la cod și să adaug id-ul sau numele fiecăreia în cod. am nevoie ca wordpress să facă asta automat.

    1. În șablonul dvs. va exista o zonă unde se afișează numele categoriei, probabil există o parte din aceasta care folosește o variabilă egală cu id-ul sau slug-ul categoriei, pe care o puteți folosi în schimb pentru a prelua numărul. Ceva care se termină astfel:

      // echo count_cat_post($cat_id);

    2. Ați putea folosi o buclă for pentru a parcurge categoriile. În acest caz, ați putea dori să utilizați get_categories(): https://developer.wordpress.org/reference/functions/get_categories/

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!