Wordpressの投稿を1年前に、またはその日に最も近い投稿から検索することは可能ですか?最新のWordpressの投稿を1年前から問い合わせする
「ルックバック」機能を使用して、1年前の話題を表示できるようにしたいと考えています。
コーデックスを調べてみましたが、まだインスピレーションが見つかりませんでした。何か案は?
Wordpressの投稿を1年前に、またはその日に最も近い投稿から検索することは可能ですか?最新のWordpressの投稿を1年前から問い合わせする
「ルックバック」機能を使用して、1年前の話題を表示できるようにしたいと考えています。
コーデックスを調べてみましたが、まだインスピレーションが見つかりませんでした。何か案は?
投稿のサブセットを見つけるWP_Query
を使用してクエリを実行できます。 date_query
関数はstrtotime
によって認識されるすべての値を処理できるため、便宜上「-1年」を使用できます。
<?php
$args = array(
'post_count' => 1,
'date_query' => array(array('before' => '-1 year')),
'posts_per_page' => 1
);
$lookback = new WP_Query($args);
while ($lookback->have_posts()) : ?>
<div>
<h1>One year ago you posted:</h1>
<?php $lookback->the_post(); ?>
</div>
<?php endwhile; ?>
(未テスト)動作するはずです以下:
global $wpdb;
$nearest_one_year_ago = $wpdb->get_var("SELECT id
FROM $wpdb->posts
ORDER BY ABS(DATEDIFF(post_date, ".date("Y-m-d",strtotime("-1 year", time())."))
LIMIT 1");
$post = get_post($nearest_one_year_ago);
// ... go on
説明:単にあなたの複雑なクエリの問題のために働いてSQLクエリを検索し、$ wpdbを使用しています。しかし、通常はWP_Queryを使用する方が良いでしょう。
詳細情報: SQL Query to show nearest date? https://www.w3schools.com/sql/func_datediff.asp https://codex.wordpress.org/Class_Reference/wpdb
おかげ - これは完全に私のために働くが、=配列( 'post_type' => ' '$ argsは動作しなかったコードに私を導いていませんでしたポッドキャスト」 'date_query' =>配列( アレイ( '' => '前-1年間'、 )、 )、 'posts_per_page' => 1 )。 $ルックバック=新しいWP_Query($ args); while($ lookback-> have_posts()):$ルックバック - > the_post(); ' –
ありがとう、@KevinRobinson。私の答えを上向きに投票して、それに印を付けることができれば、それは大いに感謝するだろう。 – funwhilelost