一对一免费咨询: 13913005726 025-66045668

由于haibor有点ID控的概念,喜欢干净简单的东西,所以对于新版的wordpress的自动保存草稿功能很是郁闷,它造成了大量的日志ID浪费,也使得日志ID不连续,所以,干掉此功能!!

先说明个情况:ID不连续主要是仨功能引起的,一是自动保存功能 Auto-Save,二是历史版本 Post Revisions,三是自动草稿功能 Auto-Draft!基于不同wordpress版本,解决方法不一!请对号选择相应解决方案!

wordpress 邢台网站建设公司3.1 之前版本(不包含3.1):

1、打开 wp-config.php 文件,在 $table_prefix = ‘wp_’; 前面添加如下代码:

define('WP_POST_REVISIONS', false);

define('AUTOSAVE_INTERVAL', false);

2、找到并打开 wp-admin\post-new.php 和 wp-admin\post.php 这两个文件,将其 wp_enqueue_script('autosave'); 注释或删除掉。

//wp_enqueue_script('autosave');

3、找到并打开 wp-admin\includes\post.php 文件,找到 if ($create_in_db) { ,在它的前一行添加手机网站建设

$create_in_db = false;

wordpress 3.1 之后版本(包含3.1):

自3.1版本开始,程序对自动草稿功能做了修改,上述方法中的第三步会导致后台发布文章时提示没有操作权限!

我们首先还是按照上述方法中的1、2两步进行操作,以实现禁止自动保存 Auto-Save功能和历史版本 Post Revisions功能,下面我们来尝试处理一下禁止自动草稿 Auto-Draft 功能!

由于上述方法中的第三步失效,所以不能再添加 $create_in_db = false; 代码,此时发布文章功能正常,但只要你点击添加新文章,无论你是否编辑文章,只要你最后没有点击保存或点击存为草稿(如直接关闭编辑页面),程序都会默认自动添加一篇不可见的自动草稿日志,其标题为自动草稿,状态为auto-draft,且只能利用phpmyadmin从数据库中删除!因此,如果你没有构思好日志,还是不要轻易点击添加新文章!

下面给出两种还算完美的解决方案,基础代码来自电脑中名为待处理的文件夹,已经找不出源出处了,感谢党,感谢互联网,感谢原作者!这里我整理完善一下,分享给各位童鞋,至此,非ID控可以直接跳转到下方评论了哈哈!!

注:下文中提到的行数以 wordpress 3.2 版本为准。

方案一:将不可见的自动草稿 auto-draft 变为可见的草稿日志 draft。

参考上述第3步,找到并打开 wp-admin\includes\post.php 文件,找到 if( $create_in_db) { ,查找大约 423 行:

$post_id = wp_insert_post( array( 'post_title' = __( 'Auto Draft' ), 'post_type' = $post_type, 'post_status' = 'auto-draft' ) );

将上述代码改为:

$post_id = wp_insert_post( array( 'post_title' = __( 'Auto Draft' ), 'post_type' = $post_type, 'post_status' = 'draft' ) );

提示:此方案并不能阻止点击添加新文章时自动创建草稿,但此时创建的是可以在文章列表看到的草稿日志,可点击编辑!当然,如果你多次点击添加新文章,会产生多条草稿日志,也不太好看吧哈哈!

方案二:原理是获取最早一条自动草稿作为当前文章使用,如此可以实现在原有自动草稿功能基础上保持文章ID连续,并去除了删除7天前自动草稿的功能。

依然是找到并打开 wp-admin\includes\post.php 文件,找到 if ($create_in_db) { ,查找大约 418 至 427 行:

if ( $create_in_db ) {
// Cleanup old auto-drafts more than 7 days old
$old_posts = $wpdb-get_col( "SELECT ID FROM $wpdb-posts WHERE post_status = 'auto-draft' AND DATE_SUB( NOW(), INTERVAL 7 DAY ) post_date" );//删除7天前自动草稿
foreach ( (array) $old_posts as $delete )
wp_delete_post( $delete, true ); // Force delete
$post_id = wp_insert_post( array( 'post_title' = __( 'Auto Draft' ), 'post_type' = $post_type, 'post_status' = 'auto-draft' ) );
$post = get_post( $post_id );
if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post-post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
set_post_format( $post, get_option( 'default_post_format' ) );
} else {

替换为

if ( $create_in_db ) {
global $current_user;//获取当前登录管理用户
$post = $wpdb-get_row( "SELECT * FROM $wpdb-posts WHERE post_status = 'auto-draft' AND post_type = '$post_type' AND post_author = $current_user-ID ORDER BY ID ASC LIMIT 1" );//获取最早一条自动草稿
if ( !$post ) {
$post_id = wp_insert_post( array( 'post_title' = __( 'Auto Draft' ), 'post_type' = $post_type, 'post_status' = '铁岭网站建设公司 auto-draft' ) );
$post = get_post( $post_id );
}
if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post-post_type, 'post-formats' ) && get_option( 'default_post_format' ) )
set_post_format( $post, get_option( 'default_post_format' ) );
} else {

上面已经说明了方案电力建设公司网站二的原理,请需要的童鞋结合代码注释看,方案二的解决方法是,如果数据库已经有不可见的自动草稿日志,那么点击添加新文章时,将不会再自动产生新的不可见自动草稿,而是直接调用最早的一篇不可见草稿作为当前文章所需的数据库记录来使用,同时为避免ID不连续,删除了删除早于7天的自动草稿的代码语句!

好了,请各位需要的童鞋对号入座吧,如有更好的建议或不解,留言交流!

本文为诺豆网原创,转载请勿删除本文链接:http://www.nuodou.com/item/622.html 。


 


 南京牧狼文化传媒有限公司简介:


      牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!


  公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!


  为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!


  主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等


  合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯


  资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。



致力于为客户创造更多价值
13913005726 025-66045668
需求提交
电话咨询
在线咨询