web-dev-qa-db-ja.com

カスタムフィールドの日付けで注文する

カテゴリ "Expire Soon"を作成しました。カスタムフィールド "expiration_date"で投稿を挿入して並べ替えます。

このコードを使用しますが、投稿はカスタムフィールド "expiration_date"でソートされていますが日付ではソートされていません。投稿は日付の数字でソートされています。といった:

2012年12月31日
2013/01/28
2013/01/01
2012年12月12日

そして私はのようになりたいです。

2012/12/12
2012年12月31日
2013/01/01
2013/01/28

カスタムフィールドを挿入するために使用するコード(高度なカスタムフィールドを使用してそれらを作成する)は次のとおりです。

<?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;

                                         ?>

Loop.phpで使用しています

誰かが私を日付順にソートするのを手伝うことができれば私は感謝するでしょう!

@s_ha_dumこれは投稿編集のカスタムフィールドメタボックスに投稿されたフォームからデータを挿入するためにfunctions.phpで使うコードです:

/ * ------------------------------------------------ 
 QuFormプラグイン - 投稿するフォーム
 ---------------------------------- -------------- */
 
 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。='リンクδιαγωνισμού:getValueHtml( 'iphorm_1_11')。 ''> '。$ form-> getValueHtml(' iphorm_1_11 ')。
'; $ post = array([。____。' 'post_title' => $ title、 'post_content' => $ content //投稿を挿入する $ post_id = wp_insert_post($ post); //カスタムフィールドを挿入する add_post_meta($ post_id、 'dwra_diagwnismou'、$ 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、 'apaitei_logari_mo') $ 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

あなたが周りを見れば、同じトピックについてこのサイトに似たような記事があります。しかし、これがあなたの答えです。これを機能させるには、あなたの日付フォーマットを変更する必要があります。

カレンダー順ではなく、アルファベット順、または数字順にソートできます。正しく注文できる唯一の人の日付の形式はYYYY/MM/DDです。区切り文字はオプションであり、問​​題にはなりません。あなたのフォーマットはあなたが望む方法をソートするつもりはありません。

あるいは、あなたの日付を Unix時間 のフォーマットで保存し、表示するときにそれらを 'human'に変換することもできます。

あなたは物事をソートするためにあなた自身の関数を書くこともできますが、あなたは質問してそれからソートする必要があるでしょう、これは余分なオーバーヘッドです。

4
s_ha_dum