Salam. WordPress də posta meta field elavə etmişəm hansı ki həmən meta value da tarix saxlanilir. tutaq ki 10/12/2015 bu formatda post meta var. Və mənə də lazımdır ki postu bu meta ya görə select edim. tarix indiki tarixden boyuk olan postlari ve ya kicik olan. bunu nece ede bilerem? Postun oz default tarixi deyil. basqa tarixdi bu. onu date_query ile ede bilirem. ama tarixi meta saxlayanda nece select edim bir yol tapa bilmedim.
Eslinde bir qeyri pesekar yolu var aglimda. butun postlari select edib sonra while icinde hemen postun meta da olan tarixini goturub ay gun ile gore split edib muqayiseni apara bilerem. ama butun postlari select etmek istemirem sadece mene lazim olanlari. Tesekkurler onceden
Verilmiş cavablar və yazılan şərhlər (3 cavab var)
1
Salam.
Çox sadə meta_query ilə həll olar bu.
Məsələn args-a belə bir şey əlavə etməklə
0
Tesekkurler. Bunu aglima gelmisdi amma duzu inanmirdim ki bele isleyer by yeni value ni adi string kimi qebul elemir ki bele? yoxsa tarix oldugunu hardan bilir ki?
1
Tarix olmasına gərək yoxdur əgər Y-m-d formatıdırsa, mysql özü başa düşür onu. Yəni əvvəl il, sonra ay, sonra gün gəlirsə.(aradakı ayırıcının fərqi yoxdur).
Amma birinci il gəlmirsə, o halda iş çoox qəlizləşir. Əgər mümkün olarsa nə qədər ki gec deyil o meta-ları y-m-d ardıcıllıqla saxlayın. İstənilən halda bu daha düzgün formatdır. Yox əgər gecdirsə o halda mürəkkən meta_query ilə bu işi görmək olar. Bu da praktik deyil. meta_query-də RELATION=>OR verib ayları ayrıca, günləri ayrıca, illəri də ayrıca COMPARE etməklə.
Sual verin
Cavab verin