Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să sortați postările după data expirării postării în WordPress

În trecut, am împărtășit cum să expirați postările în WordPress folosind Pluginul Post Expirator. Ei bine, atunci când am creat un site de listare a evenimentelor, am constatat că acest plugin a fost de mare ajutor. Putem șterge cu ușurință listările de evenimente care au expirat. În al doilea rând, datorită acestui plugin, este foarte ușor să sortați postările și după data expirării postării. În acest articol, vă vom arăta cum să sortați postările după data expirării postării în WordPress.

Cod actualizat pentru a reflecta modificările din plugin unde au schimbat numele câmpului personalizat. Mulțumim Tajim pentru că ne-ai informat în comentarii.

În proiectul nostru specific, am avut Evenimente ca Tip de Postare Personalizată. Acum, acesta este pentru o organizație non-profit care organizează cam un eveniment pe lună, așa că am creat pur și simplu o buclă pentru a o pune pe pagina lor de evenimente. Puteți folosi codul în bara laterală sau oriunde altundeva doriți.

<?php
$args = array( 'post_type' => 'event', 'posts_per_page' => 15, 'order' => 'ASC', 'meta_key' => '_expiration-date', 'orderby' => 'meta_value' );
$eventloop = new WP_Query( $args );
if ( $eventloop->have_posts() ) : while ( $eventloop->have_posts() ) : $eventloop->the_post();

//All the Loop Content Goes Here

endwhile;
endif;
?>

Trucul este să utilizezi meta_key și apoi user oderby meta_value. Punerea în ordine ascendentă arată evenimentul care urmează să aibă loc (expiră cel mai curând). Exemplu de listare a evenimentelor noastre:

Sortare Postări după Expirarea Postării (Exemplu Eveniment)

Rețineți că, pentru ca acest lucru să funcționeze, TREBUIE să utilizați Pluginul Post Expirator.

Dacă aveți întrebări, nu ezitați să le puneți în comentariile de mai jos.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

24 CommentsLeave a Reply

  1. Salut, încerc să fac ca acest lucru să funcționeze pentru produsele mele WooCommerce, care trebuie manipulate pentru a fi cursuri externe care expiră la o anumită dată. Chiar am nevoie să le sortez după data expirării, nu sunt sigur ce fac greșit. Mulțumesc

  2. Este posibil să afișați postările care se termină până mâine sau săptămâna viitoare, luna viitoare și așa mai departe.
    Doresc să creez un site care să afișeze toate postările care se termină mâine. și unul care să afișeze toate postările care se termină săptămâna viitoare.

    Sugestii?

  3. Am încercat să fac acest cod să funcționeze cu o temă copil Genesis Pro. Am creat mai multe postări cu date viitoare. Am adăugat acest cod în barele laterale prin shortcode-uri și am încercat în fișierul functions.php. Nu folosesc câmpuri personalizate și nu adaug informații.

    Orice idei ar fi apreciate

  4. Am încercat să fac ca acest lucru să funcționeze, dar fără succes. L-am postat în bara laterală, function.php și ca shortcode. Orice ajutor ar fi apreciat.

  5. Nu am reușit să fac acest lucru să funcționeze cu o temă copil Genesis Pro. L-am adăugat la ultimele rânduri ale fișierului function.php. Am adăugat și valori meta. Nu sunt sigur de ce nu se afișează în ordine ASC după data expirării.

    Mulțumesc anticipat

  6. Postări ca aceasta sunt motivul pentru care iubesc internetul (și blogurile ca al tău). Acesta este exact ceea ce căutam și nu putea fi prezentat mai simplu. Mulțumesc!

  7. Voiam doar să spun că în versiunea curentă a acestui plugin, numele câmpului personalizat s-a schimbat din
    expiration-date în _expiration-date.

    Câmpul personalizat este ascuns. Deci, vă rugăm să actualizați codul de mai sus.

    Cu stimă
    Tajim

  8. Mulțumim pentru asta. Mă întrebam cum ați adăugat imaginile cu date la postări

      • Mulțumim pentru feedback. Ar fi în regulă să primim un exemplu de cod de la dvs. în acest sens? Mulțumim anticipat.

  9. Mulțumesc pentru postarea excelentă.

    Dacă aș dori să afișez data expirării postării în buclă, ce cod aș putea folosi?

      • L-am schimbat în „_expiration-date” și primesc datele, dar cum ați reordona acest lucru în afișajul corect al datei? Data mea este 1 martie 2015 și ceea ce este afișat este „1425254340”

        Mulțumesc,

    • Acest articol nu este pentru începători complet. Deoarece trebuie să aveți o înțelegere corectă a modului în care funcționează temele WordPress pentru a face ca acest cod să funcționeze cu tema dvs. specifică.

      Admin

      • Dacă acesta nu este pentru începători, de ce l-ați postat pe wpbeginner.com? Și eu am dificultăți în a insera acest lucru pe blogul meu și aș dori să văd un răspuns la întrebarea lui KITSTS.

        • La WPBeginner, împărțim începătorii în diverse niveluri. Blogger începător, alias începător total (abia începe să scrie pe blog, nu știe ce este RSS, FTP etc.). Designer de teme începător (cunoaște HTML+CSS, dar nu are idee cum să construiască teme în WordPress). Dezvoltator de pluginuri începător (cunoaște conceptul general al programării, dar nu specific pentru WordPress).

          Motivul pentru care nu putem răspunde la întrebarea KITST este că este imposibil de răspuns cu informațiile furnizate. Codul partajat în articol este o buclă standard WordPress. Unde îl veți lipi în tema dvs. va varia în funcție de nevoile dvs. și, de asemenea, de tipul de temă pe care o utilizați.

          Dacă folosiți o temă copil, atunci cel mai probabil acel cod va ajunge în fișierul dvs. functions.php, astfel încât îl puteți integra în funcția furnizată de framework-ul temei.

          Dacă folosiți o altă temă WordPress, atunci codul poate merge în diverse fișiere șablon (index.php, sidebar.php, archive.php, archive-{posttype}.php, footer.php, header.php, etc.). Fiecare temă este organizată diferit, ceea ce face imposibil pentru noi să vă oferim o locație exactă unde să lipiți acest cod.

          De asemenea, rețineți că bucla pe care am partajat-o mai sus este dintr-un exemplu de lucru pe care l-am creat folosind un tip de postare personalizat numit evenimente. S-ar putea să nu doriți să o utilizați pentru un tip de postare personalizat numit evenimente. Poate doriți să o utilizați pentru un alt tip de postare numit oferte.

          Acest articol a fost destinat designerilor de teme începători și/sau dezvoltatorilor începători care caută o modalitate ușoară de a face acest lucru.

  10. Mă întrebam, ce plugin este folosit pentru afișarea evenimentelor viitoare în exemplul de mai sus?
    Mulțumesc pentru un articol minunat…

      • Ahhh..ok, este posibil să oferiți un exemplu pentru „Tot conținutul buclei merge aici”? Actualizez pagina web a unui ONG și mi-a plăcut cum sunt afișate evenimentele. După cum ați observat, sunt începător, așa că aș aprecia foarte mult ajutorul dvs. ;o)….

        • Codul buclei, în esență, este eticheta php the_title(); pentru a afișa titlul. Un alt câmp personalizat pentru a afișa data. Buclea este explicată destul de bine aici:

          http://codex.wordpress.org/The_Loop

          Am folosit stilizare (div/imagini/css) pentru a-l face să arate așa. Acest post este despre cum să sortezi postările după data expirării, iar articolul arată exact asta. Exemplul folosit este ceva ce am făcut pentru clientul nostru, așa că, din păcate, nu putem partaja imaginile/stilul pentru care au plătit. Trimiteți-ne un e-mail dacă sunteți interesat să facem acest lucru pentru dvs. Avem tarife speciale pentru organizații non-profit.

  11. Aceasta este o funcționalitate grozavă.  Există mai multe situații în care acesta este lucrul pe care trebuie să-l faci.
     
     
    PS
    Acest site web are unul dintre designurile mele preferate.  #IBCT se referă la găsirea celui mai bun blogger din lume. Site-ul tău a ajuns în semifinale.

Lasă un răspuns

Vă mulțumim 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 comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.