it-swarm.com.de

Nach benutzerdefiniertem Felddatum bestellen?

Ich habe eine Kategorie "Expire Soon" erstellt und möchte die Beiträge nach benutzerdefiniertem Feld "expiration_date" einfügen und sortieren.

Ich benutze diesen Code, aber die Beiträge sind nach dem benutzerdefinierten Feld "expiration_date" sortiert, aber nicht nach dem Datum. Die Beiträge sind nach den Nummern im Datum sortiert. Sowie:

31.12.2012
28.01.2013
15/01/2013
12.04.2012

und ich möchte sein wie:

04/12/2012
31.12.2012
15/01/2013
28.01.2013

Der Code, den ich verwende, um die benutzerdefinierten Felder einzufügen (sie mit erweiterten benutzerdefinierten Feldern zu erstellen), lautet:

<?php
                                            if( get_field( "dwra_diagwnismou" ) ): ?>
                                                    <p><b>Δώρα διαγωνισμού:</b>   <?php the_field( "dwra_diagwnismou" ); ?></p>
                                            <?php endif;

                                            if( get_field( "kathgoria-diagwnismou" ) ): ?>
                                                    <p><b>Κατηγορία διαγωνισμού:</b>   <?php the_field( "kathgoria-diagwnismou" ); ?></p>
                                            <?php endif;

                    if( get_field( "diorganwths_diagwnismou" ) ): ?>
                                                    <p><b>Διοργανωτής διαγωνισμού:</b>   <?php the_field( "diorganwths_diagwnismou" ); ?></p>
                                            <?php endif;

                    if( get_field( "hmeromhnia_lhkshs" ) ): ?>
                                                    <p><b>Ημερομηνία λήξης:</b>   <?php the_field( "hmeromhnia_lhkshs" ); ?></p>
                                            <?php endif;

                    if( get_field( "wra_lhkshs" ) ): ?>
                                                    <p><b>Ώρα λήξης:</b>   <?php the_field( "wra_lhkshs" ); ?></p>
                                            <?php endif;

                    if( get_field( "periorismos_perioxhs" ) ): ?>
                                                    <p><b>Περιορισμός περιοχής:</b>   <?php the_field( "periorismos_perioxhs" ); ?></p>
                                            <?php endif;

                    if( get_field( "apaitei_logariasmo_facebook" ) ): ?>
                                                    <p><b>Απαιτεί λογαριασμό Facebook:</b>   <?php the_field( "apaitei_logariasmo_facebook" ); ?></p>
                                            <?php endif;

                    if( get_field( "syxnothta_diagwnismou" ) ): ?>
                                                    <p><b>Συχνότητα διαγωνισμού:</b>   <?php the_field( "syxnothta_diagwnismou" ); ?></p>
                                            <?php endif;

                    if( get_field( "link_diagwnismou" ) ): ?>
                                                    <p><b>Link διαγωνισμού:</b>   <a href="<?php the_field( "link_diagwnismou" ); ?>"><?php the_field( "link_diagwnismou" ); ?></a></p>
                                            <?php endif;

                    if( get_field( "oroi_diagwnismou" ) ): ?>
                                                    <p><b>Όροι διαγωνισμού:</b>   <?php the_field( "oroi_diagwnismou" ); ?></p>
                                            <?php endif;

                    if( get_field( "plhrofories_diagwnismou" ) ): ?>
                                                    <p><b>Πληροφορίες διαγωνισμού:</b>   <?php the_field( "plhrofories_diagwnismou" ); ?></p>
                                            <?php endif;

                                         ?>

Ich benutze es in der loop.php

Wenn mir jemand helfen kann, nach Datum zu sortieren, wäre ich dankbar!

@s_ha_dum Dies ist der Code, den ich in der functions.php verwende, um die Daten aus dem übermittelten Formular in die Meta-Box für benutzerdefinierte Felder in der Post-Bearbeitung einzufügen:

/ * ------------------------------------------------ 
 QuForm Plugin - Formular zum Posten 
 ---------------------------------- -------------- */
 
 add_action ('iphorm_post_process_1', 'mytheme_create_wp_post', 10, 1); 
 
 function mytheme_create_wp_post ($ form) 
 {
 $ title = $ form-> getValue ('iphorm_1_1'); 
 $ content. = 'Δώρα διαγωνισμού:'. $ form-> getValueHtml ('iphorm_1_30'). '
'; $ content. =' Κατηγορία δώρων: '. $ form-> getValueHtml ('iphorm_1_39'). '
'; $ content. =' Ημερομηνία λήξης: '. $ form-> getValueHtml ('iphorm_1_8'). '
'; $ content. =' Ώρα λήξης: '. $ form-> getValueHtml ('iphorm_1_9'). '
'; $ content. =' Διοργανωτής: '. $ form-> getValueHtml ('iphorm_1_36'). '
'; $ content. =' Περιορισμός (περιοχή): '. $ form-> getValueHtml ('iphorm_1_15'). '
'; $ content. =' Απαιτεί λογαριασμό Facebook: '. $ form-> getValueHtml ('iphorm_1_26'). '
'; $ content. =' Όροι διαγωνισμού: getValueHtml ('iphorm_1_32'). '">'. $ form-> getValueHtml ('iphorm_1_32'). '
'; $ content. =' Πληροφορίες διαγωνισμού: '. $ form-> getValueHtml ('iphorm_1_35'). '
'; $ content. =' Link διαγωνισμού: getValueHtml ('iphorm_1_11'). '">'. $ form-> getValueHtml ('iphorm_1_11'). '
'; $ post = array ( ' post_title '=> $ title, ' post_content '=> $ content ); // Post einfügen $ Post_id = wp_insert_post ($ post); // Fügen Sie die benutzerdefinierten Felder Add_post_meta ($ post_id, $ form-> getValue ('iphorm_1_30')); Add_post_meta ($ post_id, 'kathgoria_diagwnismou', $ form-> getValue ( 'iphorm_1_39')); add_post_meta ($ post_id, 'diorganwths_diagwnismou', $ form-> getValue ('iphorm_1_36')); add_post_meta ($ post_id, 'hmeromhnia_lhkshs', $ getValue ('iphorm_1_8'); add_post_meta ($ post_id, 'wra_lhkshs', $ form-> getValue ('iphorm_1_9')); add_post_meta ($ post_id, 'periorismos_perioxhs', $ form -> getValue ('iphorm_1_15'); add_post_meta ($ post_id, 'syxnothta_diagwnismou', $ form-> getValue ('iphorm_1_31')); add_post_meta ($ post_id, 'apaite_facebook_logari $ form-> getValue ('iphorm_1_2 6 ')); Add_post_meta ($ post_id,' link_diagwnismou ', $ form-> getValue (' iphorm_1_11 ')); Add_post_meta ($ post_id,' oroi_diagwnismou ', $ form-> getValue ('iphorm_1_32'); add_post_meta ($ post_id, 'plhrofories_diagwnismou', $ form-> getValue ('iphorm_1_35'));
2
Charitos

Es gibt ähnliche Beiträge auf dieser Site zum selben Thema, wenn Sie sich umschauen. Aber hier ist Ihre Antwort: Damit dies funktioniert, müssen Sie Ihr Datumsformat ändern.

Sie können alphabetisch oder numerisch sortieren, nicht kalendarisch. Das einzige menschliche Datumsformat, das richtig bestellt, ist YYYY/MM/DD. Das Trennzeichen ist optional und sollte keine Rolle spielen. Ihr Format wird niemals so sortieren, wie Sie es möchten.

Alternativ können Sie Ihre Daten im Format Unix-Zeit speichern und bei der Anzeige in "menschlich" konvertieren, was ich auch tun würde.

Sie können auch Ihre eigene Funktion schreiben, um Dinge zu sortieren, aber Sie müssen fragen und dann sortieren, was zusätzlichen Aufwand bedeutet.

4
s_ha_dum