X

Adăugați o clasă personalizată pentru corp pentru pagini specifice

Fragmente de IsItWP

Căutați o modalitate de a adăuga o clasă personalizată pentru corp (body class) pentru pagini specifice? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți folosi pentru a adăuga o clasă personalizată pentru corp pentru pagini specifice î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:

add_filter( 'body_class', 'my_neat_body_class');
function my_neat_body_class( $classes ) {
     if ( is_page(7) || is_category(5) || is_tag('neat') )
          $classes[] = 'neat-stuff';

     return $classes; 
}

Adăugați acest fragment de cod în fișierul header.php al temei dvs. WordPress pentru a înlocui tag-ul HTML implicit pentru corp.

<body <?php body_class(); ?>>

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ă v-a plăcut acest fragment de cod, vă rugăm să luați în considerare citirea altor articole de pe site, cum ar fi: 27 cele mai bune teme WordPress pentru afaceri și 7 cele mai bune plugin-uri WordPress GDPR.

Comentarii   Lasă un răspuns

  1. Este posibil ceva similar, dar pentru un #id? Nu vreau clasa .id

    1. Ați putea folosi în continuare clasa .page-id: https://developer.wordpress.org/reference/functions/body_class/

      Acestea fiind spuse, pentru ID-uri reale, ați putea adăuga un ID în fișierul șablon în sine și ați putea folosi condiționale pentru a controla când este afișat.

  2. Excelent! M-a ajutat foarte mult.

  3. Freelance Web Designer June 3, 2014 at 3:30 pm

    Unde pot adăuga clasa după ce pașii de mai sus sunt finalizați?

    1. Schimbați clasa din codul „neat-stuff” cu orice doriți. Ați putea chiar adăuga
      mai multe clase dacă este necesar.

      1. Freelance Web Designer June 3, 2014 at 3:39 pm

        Vreau un ID / clasă diferit pentru fiecare pagină… cum îl atribui unei pagini specifice?

        1. Acest fragment nu este ceea ce aveți nevoie, va adăuga doar o singură clasă la

          „is_page(7) || is_category(5) || is_tag(‘neat’)”

          O pagină cu ID-ul 7 sau categoria 5 sau o pagină care are eticheta neat. Cred că ceea ce s-ar potrivi mai bine nevoilor dvs. este următorul.

          http://wpsnipp.com/index.php/functions-php/add-parent-page-slug-to-body_class/

          Acest lucru va adăuga slug-ul paginii ca clasă pentru pagină, cu un prefix de parent-{page_slug}. Pe lângă adăugarea acestui fragment în functions.php, nu mai este necesar nimic altceva. Aruncați o privire și la acest rezultat al căutării pentru mai multe fragmente legate de body_class http://wpsnipp.com/?s=body_class

          Sunt sigur că puteți găsi câteva utile.

          1. Freelance Web Designer June 3, 2014 at 4:24 pm

            Mulțumesc!

  4. Funcționează impecabil pentru mine, treabă bună!

  5. Mulțumesc mult pentru asta, apreciez cu adevărat!

  6. Mulțumesc pentru asta, doream un nume de clasă de corp mai scurt pentru un șablon de pagină personalizat, folosind is_page_template (‘template-name.php’) și acest lucru a funcționat perfect.

  7. Acest lucru poate fi combinat cu celălalt fragment de clasă de corp, astfel încât, dacă paginile nu sunt specificate, acestea să aibă implicit propria pagină ca clasă?

    1. Ar trebui să puteți face pur și simplu

           if ( is_page(7) || is_category(5) || is_tag(‘neat’) ){
                $classes[] = ‘neat-stuff’;          }else{
                $classes[] = ‘other-class’;

                }

  8. Există ceva ce trebuie să faceți după ce adăugați clasa? Nu văd nicio modalitate de a adăuga o clasă personalizată pentru o pagină…

    1. Salut Trevor,
      Da, va trebui să adăugați funcția body_class() în interiorul tag-ului body. Am actualizat fragmentul pentru a evita confuzia.

  9. Foarte util. Se poate face ceva similar folosind părintele paginii?

    1. Sigur ai putea face ceva de genul, însă dacă paginile tale au doar un singur părinte, body_class va adăuga deja clasa „page-parent” la body. Aceasta este o problemă doar dacă ai multe pagini copil, deoarece fiecare pagină secundară poate fi și ea o pagină părinte. Ce încerci să faci?

  10. Elliott the web design guy May 18, 2011 at 10:43 pm

    Acum, acesta este un fragment foarte îngrijit pentru layout-uri de pagină personalizate – grozav!

    1. Super, mă bucur că îți place!

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!