Wordpress에서 특정 날짜 사이에 게시물을 가져옵니다.
예를 들어 1월 15일과 3월 15일 사이에 게시된 게시물을 표시하는 위젯을 작성 중입니다만, 방법을 모르겠습니다.
query_posts()를 언급하는 솔루션을 몇 개 봤는데 좋은 솔루션은 아닌 것 같습니다.그래서 어떻게 하면 좋을지 어떤 제안에도 응할 수 있습니다.
현재 pre_get_posts, WP_Query 또는 get_posts를 사용하려고 생각하고 있으며, 다음 코드 행으로 시도했습니다.
function my_home_category( $query )
{
if ( $query->is_home() && $query->is_main_query() )
{
$query->set( 'day', '15');
}
}
add_action( 'pre_get_posts', 'my_home_category' );
단, 이것은 임의의 달의 15일에 발행된 모든 투고를 되돌립니다.다음과 같이 설정할 수 있습니다.
$query->set( 'monthnum', '1');
1월 15일에 투고를 할 예정인데, 1월 15일부터 3월 15일까지 모든 투고를 게재하고 싶은데 어떻게 해야 할지 모르겠습니다.
pre_get_posts를 사용할 필요는 없습니다.get_posts 또는 WP_Query일 수 있습니다.단순한 방법을 찾고 있습니다.
WP_Query에는 date_query 파라미터가 준비되어 있습니다.이를 통해 전후 범위를 설정할 수 있습니다.
https://developer.wordpress.org/reference/classes/wp_query/ #date-파라미터
$args = array(
'date_query' => array(
array(
'after' => 'January 1st, 2015',
'before' => 'December 31st, 2015',
'inclusive' => true,
),
),
);
$query = new WP_Query( $args );
여기에서는 원래의 질문과 @johnnyd23의 답변을 조합하여 답변했습니다.
function my_home_by_period($query) {
$query->set('date_query', array(
array(
'after' => array(
'year' => 2021,
'month' => 10,
'day' => 1,
),
'before' => array(
'year' => 2021,
'month' => 10,
'day' => 31,
),
'inclusive' => true,
)
));
}
add_action('parse_query', 'my_home_by_period');
'parse_query'를 'pre_get_posts'로 치환하면 같은 결과가 나올 것입니다.
언급URL : https://stackoverflow.com/questions/29275403/get-posts-published-between-specific-dates-in-wordpress
'programing' 카테고리의 다른 글
| 잭슨을 사용하여 JS 날짜를 역직렬화하려면 어떻게 해야 하나요? (0) | 2023.03.16 |
|---|---|
| HTML5를 통해 웹 앱이 피어 투 피어 HTTP 연결을 만들 수 있습니까? (0) | 2023.03.16 |
| 재료 UI를 사용하여 앱바 아래에 드롭다운 메뉴를 여는 방법 (0) | 2023.03.16 |
| 리액트 라우터의 링크를 통해 오브젝트 통과 (0) | 2023.03.16 |
| 각도에서의 아코디언 열기/접기 이벤트 처리 (0) | 2023.03.16 |