我想要显示一个档案的职位按年,所以年出现,当点击,看到所有的职位,从特定的年份。问题是,我希望它们不是按post_date (默认行为)显示,而是按自定义日期(用ACF制作的自定义字段)显示。有没有什么钩子可以改变wp_get_archives函数,让它通过ACF发布帖子?
发布于 2017-03-25 03:31:09
我最近在一个项目中也有类似的需求。我们发现从datepicker获取值并使用wp_post_update()钩子将其作为post_date应用是最简单的。
function my_acf_save_post( $post_id ) {
// get new value
$theDate = get_field('post-date', $post_id, false);
$theDate = date_create_from_format('Ymd', $theDate);
$theDate = date_format($theDate, 'Y-m-d H:i:s');
$my_post = array(
'ID' => $post_id,
'post_date' => $theDate,
);
// do something
// unhook this function so it doesn't loop infinitely
remove_action('acf/save_post', 'my_acf_save_post');
// update the post, which calls save_post again
wp_update_post( $my_post );
// re-hook this function
add_action('acf/save_post', 'my_acf_save_post');
}
// run after ACF saves the $_POST['acf'] data
add_action('acf/save_post', 'my_acf_save_post', 20);上面的代码片段是由James在ACF支持论坛上提供的,但对我们来说是有效的。此解决方案的一个缺点是,如果日期在未来,则帖子将被安排而不是发布。
https://stackoverflow.com/questions/38475028
复制相似问题