Bruke betingede etiketter for å overbelaste bloggen din

Betingede etiketter er en av de mange flotte strukturer som WordPress har til å hjelpe oss med å utvikle for WordPress lettere. I denne artikkelen kommer vi til å bli kjent med noen av dem og bruke dem i eksempelfunksjoner som å fjerne ting fra feilsidene eller endre favicon på admin sider.


Hva er "betingede etiketter"?

De er i utgangspunktet "ja-nei spørsmål": De returnerer bare TRUE eller FALSE når du bruker dem. Vi bruker dem i hvis uttalelser - hvis utsagnet er SANT eller FALSK, kan vi behandle vår kode i henhold til svar.

Du kan se alle betingede etikettene i WordPress Codex.

Nå, la oss komme til den morsomme delen! Det er ti gode funksjoner ved bruk av betingede etiketter i denne artikkelen.


Funksjon 1. Vis en popup melding på forsiden med is_front_page ()

Hilsen besøkende fra hjemmesiden kan være hyggelig for den besøkende, eller du kan legge en advarsel for planlagt vedlikehold, eller du kan vise en fryktelig popup-annonse. Uansett hva du må gjøre, gjør du det her:

Først må du ha Colorbox jQuery-plugin her. Få colorbox.min.js fra "ColorBox / ColorBox"mappe og colorbox.css (og den tilsvarende "Bilder"mappe) til en"fargeboks"mappen inne i temamappen din.

Deretter må du opprette en colorbox.load.js filen for å laste inn popup-filen. Plasser denne filen i "fargeboks"mappe også:

 jQuery (dokument) .ready (funksjon ($) var $ popup = $ ("# mypopup"); $ .colorbox (href: $ popup;);

Deretter plasserer du popup-HTML-koden (med "mypopup"ID for CSS) inne i temaet ditt index.php fil og gjem det i din style.css fil (med "#mypopup display: none;").

 funksjonen front_popup () if (is_front_page ()) // last colorbox.min.js wp_enqueue_script ('colorbox-js', get_template_directory_uri (). '/ colorbox / colorbox.min.js', array ('jquery')) ; // load colorbox.load.js wp_enqueue_script ('colorbox-load-js', get_template_directory_uri (). '/ colorbox / colorbox.load.js', array ('colorbox-js')); / / load colorbox.css wp_enqueue_style ('colorbox-css', get_template_directory_uri (). '/ colorbox / colorbox.css');  add_action ('wp_head', 'front_popup');

Lim inn dette inn i din functions.php fil og du er god til å gå!

Merk: For å få popupen din til å gå bort, må du legge til en link inne i popup-vinduet ditt. Dette vil fungere fint:

 Lukk

Funksjon 2. Inkluder Ekstra CSS og JS kode inne i en bestemt side med is_page ()

Du må kanskje laste inn noen eksterne JavaScript- eller CSS-filer for en bestemt side - som din "Om" -side eller en nedlastingsside for produktet. Ja, du kan også inkludere dem i innholdet ditt, men det er ikke god praksis. Her er god praksis:

 funksjonen extra_assets () if (is_page (123)) // '123' er IDen til siden vi sjekker for wp_enqueue_script ('my-script', get_template_directory_uri (). '/ noen / path / in / your / tema / mappe / script.js'); wp_enqueue_style ('my-style', get_template_directory_uri (). '/ noen / bane / i / ditt / tema / mappe / style.css');  add_action ('wp_head', 'extra_assets');

Som det første eksempelet, legger du til dette i din functions.php filen er nok. (Ikke glem å endre "123"nummer med sidens ID!)


Funksjon 3. En kategori "Mer fra denne kategorien" for innlegg i en spesiell kategori med in_category ()

Det er ikke alltid nødvendig, men du må kanskje ha en "Mer fra denne kategorien" -delen for en kategori (men ikke de andre). Si, du har en "Nyheter" kategori og de andre kategoriene er ikke egnet for den delen vi skal lage. Den betingede taggen in_category () vil hjelpe oss med det:

 fungere more_from_category ($ cat_ID) hvis (in_category ($ cat_ID) $ posts = get_posts ('numberposts = 5 & category ='. $ cat_ID); $ output = '

Mer fra denne kategorien

'; $ output. = '
    '; foreach ($ innlegg som $ post) $ output. = '
  • '.Get_the_title.
  • '; wp_reset_query (); $ output. = '
'; ekko $ utgang;

Bygg denne funksjonen som du vil, og legg den til i functions.php fil. Deretter går du til single.php og plasser koden () der du vil at delen skal vises. Alt du trenger å vurdere er å plassere koden i The Loop. Det er alt!


Funksjon 4. Påminn deg selv (eller dine forfattere) at du fortsatt er på forhåndsvisningssiden med is_preview ()

Dette er ikke et must (vi lærer likevel bare eksempler på disse betingede etikettene), men det kan være lurt å minne deg selv (eller forfatterne dine) om at siden som vises, er "forhåndsvisning" -siden. Legg dette inn i temaet ditt functions.php fil:

 funksjon preview_warning () if (is_preview ()) echo '
Husk at du fortsatt er på forhåndsvisningssiden!
'; add_action ('the_content', 'preview_warning');

Selvfølgelig er dette ikke nok - du må redigere style.css for å gi en form til advarselsteksten. Noe sånt som dette:

 # forhåndsvisning-advarsel bakgrunn: # 800; linje-høyde: 50 piksler; font-size: 30px; font-vekt: bold; tekst-Justering: center; stilling: fast; bottom: 0; 

Der går du!


Funksjon 5. Fjern visse elementer fra dine 404 sider med is_404 ()

Denne er den enkleste tipsen til alle. Jeg tror ikke det trenger en forklaring - bare pakk de "visse elementene" (ting du ikke vil vise på feilsidene dine, som annonser) med koden nedenfor, og du er glad i å gå!

 hvis (! is_404 ()) // Her kommer "visse elementer". Det er så enkelt. Alvor. 

Funksjon 6. Vis aldri automatisk genererte utdrag igjen med has_excerpt ()

jeg bare hat de automatisk genererte utdragene. Så jeg fjerner dem - med koden som faktisk er gitt fra Codex:

 funksjon full_excerpt () if (! has_excerpt ()) echo "; else echo get_the_excerpt ();

Legg dette inn i functions.php fil og så er alt du trenger å gjøre, å endre forekomstene av the_excerpt () med full_excerpt ().


Funksjon 7. Liste bare posttittene (i stedet for hele innlegg) på datobasert arkiv med is_date ()

Noen ganger er oppføring av bare titlene mer enn nok på enkelte arkivsider - som de datobaserte arkivene. Så, for eksempel den betingede taggen is_date (), vi vil bli kvitt ting i The Loop unntatt tittelen.

Dette er litt vanskelig siden archive.php filer er forskjellige i hvert tema. (Og hvis det er en date.php fil i temaet ditt, bør du redigere den.) Se etter Loop i koden og endre koden inne i Loop med dette:

 if (is_date ()) // Hvis temaet ditt bruker h2 overskrifter for posttitler, bruk h2. Hvis det bruker h1, bruk h1. ekko '

'.tittelen().'

'; else // ... // Den opprinnelige koden i The Loop // ...

Funksjon 8. En separat favicon for administrasjonspanelet med is_admin ()

Dette tipset kan være ganske nyttig hvis du liker å jobbe med 20 åpne faner, alt for bloggen din. Bare rediger faviconet ditt litt og lagre det som adminfav.ico - for eksempel, min admin panel favicon er bare den røde versjon av mitt originale favicon.

Uansett, her er hvordan du gjør det:

 funksjon admin_favicon () if (is_admin ()) echo '';  add_action ('admin_head', 'admin_favicon');

Funksjon 9. Vis en standard miniatyrbilde hvis posten ikke har med med has_post_thumbnail ()

Dette er et must for et godt tema. Hvis du har noen del i temaet der miniatyrbildene i de fremhevede bildene vises, vil du bør erstatte the_post_thumbnail () Fungerer med koden nedenfor:

 hvis (has_post_thumbnail ()) the_post_thumbnail ();  annet echo ''.Get_the_title ().''; 

På denne måten kan du holde konsistensen av temaets utseende.


Funksjon 10. Vis en spesialmeny for din logget inn medlemmer med is_user_logged_in ()

Hvis du bruker medlemskapssystemet i WordPress og har medlemmer, kan det hende du vil opprette en spesialmeny bare for dine innloggede medlemmer. Dette er hvordan:

 funksjon member_menu () if (is_user_logged_in ()) echo '

Medlemmeny

  • Første menyelement
  • Andre menyelement
  • Tredje menyelement
';

Dette er en standard "tittel og liste" kode, du bør spille med koden for å gjøre det som sidebjelken divs og legg koden på plass i temaet ditt sidebar.php fil.

Også dette er bare et eksempel, men ideelt sett vil du bruke WordPress tilpassede menyer med wp_nav_menu () her. En standard og en for medlemmer, så kan du fortsette å administrere dem fra ditt WordPress admin dashboard. Du kan lese mer om wp_nav_menu () funksjon her.


Eventuelle andre ideer?

Disse var mine favoritt 10 ideer til å bruke betingede etiketter. Hva med din? Hvis du har noe å dele, vennligst kommentar nedenfor, slik at vi kan utvide dette innlegget med flere ideer!