Undelete post (untrash)? 时间:2015-04-13 作者:T.Todua 应该使用哪个函数将帖子从垃圾箱移动到已发布的页面即是否存在wp_undelete_post 或者类似的? 3 个回复 最合适的回答,由SO网友:cybmeta 整理而成 没有wp_undelete_post 但你还有其他选择:wp_untrash_post(): 当post被丢弃时,以前的状态存储在_wp_trash_meta_status 元字段。wp_untrash_post() 将垃圾帖子恢复到以前的状态,不管它是什么;例如,private、inherit、publish。我还没有测试过,但应该可以a custom post status as well.wp_publish_post(): 如果要从垃圾箱状态移动到发布状态wp_update_post(): 从垃圾箱移动到任何其他状态例如,对于给定的帖子ID(任何帖子类型,包括页面):if( get_post_status( $post_ID ) == "trash" ) { wp_update_post( array( \'ID\' => $post_ID, \'post_status\' => \'publish\' ) ); } 或:if( get_post_status( $post_ID ) == "trash" ) { wp_publish_post( $post_ID ); } 或:if( get_post_status( $post_ID ) == "trash" ) { wp_untrash_post( $post_ID ); } SO网友:Zank 它可能很旧,但它在我寻找类似问题时出现了。自WP 2.9.0起,有一个函数被调用:wp_untrash_post(int $post_id)对我来说,它就像一个符咒。 SO网友:T.Todua 目前的解决方案是:$page =get_page_by_path(\'my-slug\', OBJECT, \'page\'); if($page && \'trash\'==$page->post_status) { wp_update_post(array(\'ID\'=>$page->ID,\'post_status\'=>\'publish\')); } 结束 文章导航