過去には、WordPressで投稿を期限切れにする方法をPost Expirator Pluginを使用して共有してきました。イベントリスティングサイトを作成する際に、このプラグインが非常に役立つことがわかりました。期限切れのイベントリスティングを簡単に削除できます。次に、このプラグインのおかげで、投稿の期限切れ日で投稿を並べ替えることも非常に簡単です。この記事では、WordPressで投稿の期限切れ日で投稿を並べ替える方法を説明します。
カスタムフィールドの名前が変更されたプラグインの変更を反映するようにコードを更新しました。コメントで教えてくれたTajimさんに感謝します。
私たちの特定のプロジェクトでは、カスタム投稿タイプとしてイベントがありました。これは月に1回程度イベントを開催する非営利団体向けなので、イベントページに入れるループを作成しました。このコードはサイドバーやその他の好きな場所で使用できます。
<?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; ?>
コツは、meta_keyを利用し、その後user oderby meta_valueを使用することです。昇順にすると、すぐに来るイベント(最も早く期限切れになるもの)が表示されます。イベントリストの例:

この機能が動作するためには、Post Expirator Pluginを使用する必要があることに注意してください。
ご不明な点がございましたら、以下のコメントでお気軽にお尋ねください。

Francis Waller
こんにちは、特定の日に期限切れになるオフサイトコースに操作する必要があるWooCommerce製品でこれを機能させようとしています。有効期限で並べ替える必要がありますが、何が間違っているのかわかりません。ありがとうございます
dtp
翌日、翌週、翌月などに終了する投稿を表示することは可能ですか。
翌日に終了するすべての投稿を表示するサイトと、翌週に終了するすべての投稿を表示するサイトを作成したいです。
何か提案はありますか?
James Parkin
このコードをGenesis Proの子テーマで動作させようとしています。将来の日付を持つ投稿をいくつか作成しました。このコードをショートコード経由でサイドバーに追加したり、functions.phpファイル内に入れてみたりしました。カスタムフィールドは使用しておらず、情報も追加していません。
何かアイデアがあれば教えていただけると幸いです
ジェームズ
これを機能させようとしましたが、うまくいきませんでした。サイドバー、function.php、およびショートコードとして投稿しました。何か助けがあれば幸いです。
ジェームズ
Genesis Proの子テーマでこれを機能させることができませんでした。functions.phpファイルの最後の行に追加しました。メタ値も追加しました。なぜ有効期限日で昇順に投稿されないのか不明です。
事前に感謝します
JP
このような投稿こそ、私がインターネット(そしてあなたのブログのようなもの)を愛する理由です。まさに私が探していたもので、これ以上シンプルに説明することはできませんでした。ありがとうございます!
Dan
まさに探していたものでした – ありがとうございます!
Tajim
このプラグインの現在のバージョンでは、カスタムフィールド名が
expiration-date から _expiration-date に変更されたことをお伝えしたかっただけです。
カスタムフィールドは非表示になっています。したがって、上記のコードを更新してください。
敬具
タジマ
AMBA JUNIOR
これをありがとうございます。投稿に日付画像をどのように追加したのか疑問に思っていました。
編集スタッフ
このプラグインが投稿のカスタムフィールドに保存するメタ情報を取得し、スタイルを設定しました。それは背景のCSS画像とテキストオーバーレイでした。
管理者
アンバジュニア
フィードバックありがとうございます。これに関するサンプルコードをあなたからいただくことは可能でしょうか?よろしくお願いします。
編集スタッフ
残念ながら、無料サービスとしては提供しておりません。カスタムスニペットの作成を私たちに依頼していただくことは大歓迎です。
スティーブ・コンベス
素晴らしい投稿をありがとうございます。
ループ内で投稿の有効期限をエコーしたい場合、どのようなコードを使用できますか?
編集スタッフ
get_post_meta 関数を使用して、「expiration-date」というメタキーを呼び出す必要があります。
例としては、次のようになります。
1-click Use in WordPress
管理者
Adam
「_expiration-date」に変更したところ、データは取得できましたが、これを正しい日付表示に並べ替えるにはどうすればよいですか?私の日付は2015年3月1日ですが、表示されるのは「1425254340」です。
ありがとう、
キッツ
では、完全な初心者ですが、有効期限で並べ替えるには、このコードをどこに配置すればよいですか?
編集スタッフ
この記事は完全な初心者向けではありません。このコードを特定のテーマで機能させるためには、WordPressのテーマがどのように機能するかについてかなりの理解が必要です。
管理者
CuriousObserver
初心者向けでないなら、なぜwpbeginner.comに投稿したのですか?私もこのブログへの挿入に苦労しており、KITSTSの質問への回答を見たいです。
編集スタッフ
WPBeginnerでは、初心者をさまざまなレベルに定義しています。初心者ブロガー(ブログを始めたばかりで、RSSやFTPなどがわからない)。初心者テーマデザイナー(HTML+CSSは知っているが、WordPressでテーマを作成する方法はわからない)。初心者プラグイン開発者(プログラミングの一般的な概念は知っているが、WordPressに特化していない)。
KITSTの質問に答えられない理由は、提供された情報だけでは答えられないからです。記事で共有されているコードは、標準的なWordPressループです。どこに貼り付けるかは、ニーズや使用しているテーマの種類によって異なります。
チャイルドテーマを使用している場合、そのコードはほとんどの場合functions.phpファイルに配置されるため、テーマフレームワークによって提供される関数にフックできます。
他のWordPressテーマを使用している場合、コードはさまざまなテンプレートファイル(index.php、sidebar.php、archive.php、archive-{posttype}.php、footer.php、header.phpなど)に配置できます。各テーマの構成が異なるため、このコードを貼り付ける正確な場所を特定することは不可能です。
また、上記で共有したループは、eventsというカスタム投稿タイプを使用して作成したサンプルワークからのものであることに注意してください。カスタム投稿タイプeventsに使用したくない場合があります。おそらく、dealsという別の投稿タイプに使用したいでしょう。
この記事は、これを簡単に行いたいと考えている初心者テーマデザイナーや初心者開発者を対象としています。
G J
上記の例で、今後のイベントを表示するためにどのプラグインが使用されているか気になっていました。
素敵な記事をありがとうございます…
編集スタッフ
それはプラグインではありませんでした。この記事で共有したループコードを使用して、カスタム投稿タイプの表示をカスタムスタイリングしただけです。
管理者
G J
ああ、なるほど。 「ここにすべてのループコンテンツが入ります」の例を教えていただけますか?NGOのウェブサイトを更新しており、イベントをこのように表示する方法が気に入りました。ご存知かもしれませんが、私は初心者なので、ご協力いただけると大変助かります ;o)….
編集スタッフ
ループコードは基本的に、タイトルを表示するためのthe_title(); phpタグです。日付を表示するためのカスタムフィールドもあります。ループについては、こちらでかなり詳しく説明されています。
http://codex.wordpress.org/The_Loop
スタイリング(div/画像/CSS)を使用してそのように見せました。この記事は、投稿を有効期限で並べ替える方法についてであり、記事はそのことを示しています。使用されている例は、クライアントのために行ったものなので、残念ながら彼らが支払った画像/スタイリングを共有することはできません。ご興味があれば、メールでお問い合わせください。非営利団体向けの特別料金があります。
ジャッコ
これはクールな機能ですね。 まさにこれが必要とされる状況がいくつかあります。
追伸
このウェブサイトは私のお気に入りのデザインの一つです。 #IBCT は世界で最高のブロガーを見つけるためのものです。あなたのウェブサイトは準決勝に進出しました。