我想在发布帖子时更改帖子的日期。 我在我的插件中写道
add_action( 'publish_post', 'myPlugin_published' );
function myPlugin_published()
{
$postdate = '2010-02-23 18:57:33';/*For example*/
$new_post = array(
'post_date' => $postdate
);
wp_insert_post($new_post);
}
问题是日期没有改变。
如何在WordPress中更改帖子的日期?
答案 0 :(得分:2)
谢谢大家的帮助
function my_function( $post_id )
{
$postdate = '2010-02-23 18:57:33';
$my_args = array(
'ID' => $post_id,
'post_date' => $postdate
);
if ( ! wp_is_post_revision( $post_id ) ){
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'my_function');
// update the post, which calls save_post again
wp_update_post( $my_args );
// re-hook this function
add_action('save_post', 'my_function');
}
}
add_action('save_post', 'my_function');
答案 1 :(得分:0)
在帖子编辑器屏幕上的“发布元”框下,您将看到立即发布帖子的选项。在它旁边,有一个编辑链接。点击编辑链接将显示帖子的时间和日期设置。
使用日期和时间设置,您可以选择过去和将来的任何日期和时间。选择未来的日期和时间将允许您安排在该时间发布的帖子。
另一方面,选择过去的日期和时间将更新日期并更改帖子在您网站的存档页面中的位置。例如,如果您将帖子的月份从6月更改为1月,那么即使您刚刚发布该帖子,它也会显示在1月份的月度存档页面上。该帖子也会相应地出现在管理区域的所有帖子列表页面上。
当您想要发布文章但不希望它显示在您网站的首页上时,此功能特别有用。您可以将其日期提前至您网站首页上最后一篇文章的日期。
答案 2 :(得分:0)
此时帖子已保存。请改用wp_update_post()
:
add_action( 'publish_post', 'myPlugin_published', 10, 2 );
function myPlugin_published( $ID, $post )
{
$postdate = '2010-02-23 18:57:33';/*For example*/
$update_post = array(
'ID' => $ID,
'post_date' => $postdate
);
wp_update_post( $update_post );
}