✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Lajittele WordPress-viestit päivämäärän mukaan

8

TL;DR: Jos etsit helppoa tapaa lajitella WordPress-viestit päivämäärän mukaan (olipa se laskeva tai nouseva) hallintoalueella ilman, että käyttäjät napsauttavat Päivämäärä-sarakkeen otsikkoa, voit tehdä sen käyttämällä pre_get_postssuodatinta joka tarjoaa viittauksen WP_Querysivulla käynnissä olevaan ilmentymään.

Katso esimerkkejä koodista tämän tekemiseen artikkelin loppuosasta.

Lajittele WordPress-viestit

Tämä artikkeli on kirjoitettu siten, että siinä oletetaan, että määrität luokkapohjaisen. Tämä tarkoittaa, että suodattimen asetukset määritetään funktiossa, kuten initja se kutsuu publicluokassa funktion nimen, kuten sort_articles_by_recent_time.

Lopuksi se määrittää prioriteetin 10ja määrittää funktion, joka hyväksyy yksittäisen argumentin (joka on WP_Query.

Lisää ensin seuraava suodatin:

add_action( 'pre_get_posts', [ $this, 'sort_articles_by_recent_time' ], 10, 1 );

Lisää sitten seuraava toiminto:

Näin se toimii:

  1. Huomaa ensimmäiset ehdolliset tarkistukset, jos emme ole hallintoalueella tai jos emme ole edit.phpsivulla (joka on viestiluettelosivu), jätämme toiminnon. Tämä on vartiointilauseke tai varhainen palautus.
  2. Jos täytämme molemmat kriteerit, päivitämme kyselyn niin, että se järjestyy postauksiin päivämäärän mukaan laskevassa järjestyksessä. Tämä tarkoittaa, että viimeisimmät päivämäärät näkyvät aina yläreunassa.

Tämä ei ota huomioon postauksen tilaa (joten jos se on drafttai viesti, jolla on publishtila, sillä ei ole väliä). Lisäksi tämä estää käyttäjiä joutumasta napsauttamaan Päivämäärä-sarakkeen otsikkoa lajitellakseen tuloksia tarpeen mukaan, jos tämä on jotain, mitä haluat ratkaisussasi.

Viitteet

  • [pre_get_posts](https://developer.wordpress.org/reference/hooks/pre_get_posts/)
  • [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/)

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja