0
我正在使用ACF Pro。我有一個過濾器設置,告訴ACF只顯示發佈的帖子。ACF - 如何從關係字段中排除超過一年的帖子?
function acf_relationship_filter($args, $field, $post_id) {
$args['post_status'] = array('publish');
return $args;
}
add_filter('acf/fields/relationship/query/name=featured_items', 'acf_relationship_filter', 10, 3);
這工作就好了。不過,我想擴展這個函數,以便只顯示上一年製作的帖子;因此應該排除舊職位。
任何人都有想法如何做到這一點?
我需要在過濾器不知何故應用以下測試:
strtotime($args['post_date']) > strtotime('-365 day');
比較這樣的結果對$args['post_date']
當然不會工作,因爲我一個布爾結果進行比較的日期字符串。
謝謝!
SOULTION:
我想通了這一點,任何人誰可能會遇到此相同的要求。可以使用$args['date_query']
。
function acf_relationship_filter($args, $field, $post_id) {
$args['post_status'] = array('publish');
$args['date_query'] = array(
'after' => date('Y-m-d G:i:s', strtotime('-1 year')),
'inclusive' => true
);
return $args;
}
add_filter('acf/fields/relationship/query/name=featured_items', 'acf_relationship_filter', 10, 3);
這將只顯示一年前從今天開始的帖子。
希望它可以幫助那裏的人!
WP文件的日期參數WP_Query:http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters
這導致我找到了答案的正確路徑,但並不完全是確切的工作解決方案。我會在我的問題中發佈。如果您想以我發佈的內容更新您的答案,我會接受答案,因爲您已經走上正軌。 –
很高興聽到你有所進步,但請注意'after' /'before'參數支持'strtotime'字符串,所以我們不應該需要'Ymd G:i:s'格式,我想''1年前''和''-1年''應該給出相同的結果@MichaelGiovanniPumo – birgire
啊,對了。好,很酷。那麼我會接受這個答案。謝謝你的幫助! –