wordpress 关闭自动保存autosave 自动草稿auto-draft完整方法

使用wordpress的同学可能都已经发现,你发布的文章的ID都是不连续的。为什么会这样呢?原因是wordpress具有自动存草稿和保存修订版的功能,这样每当它存一次,就会产生一个相应的ID,同时会在数据库中产生大量的垃圾文件。…网上的各种解决方案抄完又抄有很多错漏.

AutoSave自动保存解决方法只有延迟时间.
/wp-config.php

/**
* define( 'WP_DEBUG', false );
* 下面加入,这样不会没错编辑文章多一个自动保存 和修订版
*/
define( 'AUTOSAVE_INTERVAL', 99999999999 ); //超过99999999999秒才保存
define('WP_POST_REVISIONS', 99999999999 );  //超过99999999999秒才保存

草稿auto-draft,目前只有修改代码
wp-admin/includes/post.php

	if ( $create_in_db ) {
		/**
		 * 原始代码
		 * $post_id = wp_insert_post(
		 * array(
		 * 'post_title'  => __( 'Auto Draft' ),
		 * 'post_type'   => $post_type,
		 * 'post_status' => 'auto-draft',
		 * ),
		 * false,
		 * false
		 * );
		 * $post    = get_post( $post_id );
		 * 修改为以下代码
		 */
		$posts = query_posts(array(
			'post_status' => 'auto-draft',
			'post_type' => $post_type,
			'posts_per_page' => 1
		));
		if ($posts) {
			$post = get_post($posts[0]->ID);
		} else {
			$post_id = wp_insert_post(array(
			   'post_title' => __('Auto Draft') ,
			   'post_type' => $post_type,
			   'post_status' => 'auto-draft',
			));
			$post = get_post($post_id);
		}

其他优化
当前模板/functions.php

/**去除window._wpemojiSettings**/
remove_action( 'admin_print_scripts', 'print_emoji_detection_script');
remove_action( 'admin_print_styles', 'print_emoji_styles');
remove_action( 'wp_head', 'print_emoji_detection_script', 7);
remove_action( 'wp_print_styles', 'print_emoji_styles');
remove_filter( 'the_content_feed', 'wp_staticize_emoji');
remove_filter( 'comment_text_rss', 'wp_staticize_emoji');
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email');
remove_action( 'wp_head', 'wp_resource_hints', 2 );

/**去除JS和CSS链接后的版本号 有效的提高加载速度**/
function wpdaxue_remove_cssjs_ver( $src ) {
 if( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src );
 return $src;
}
add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver',999);
add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver',999);
remove_action( 'wp_head', 'wp_generator' );

/**
 * 移除 RSD离线编辑
 */
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
/**
 * 移除前后文、第一篇文章、主页meta信息
 */
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
/**
 * 文章和评论feed
 * 分类等feed
 */
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
/**
 * 替换头像服务器地址
 */
function mytheme_get_avatar( $avatar ) {
 $avatar = preg_replace( "/http:\/\/(www|\d)\.gravatar\.com/","https://sdn.geekzu.org",$avatar );
 $avatar = preg_replace( "/https:\/\/secure\.gravatar\.com/","https://sdn.geekzu.org",$avatar );
 return $avatar;
}	
add_filter( 'get_avatar', 'mytheme_get_avatar' );


/**
 * 去掉 s.w.org
 */
function remove_dns_prefetch( $hints, $relation_type ) {
  if ( 'dns-prefetch' === $relation_type ) {
	return array_diff( wp_dependencies_unique_hosts(), $hints );
  }
  return $hints;
}
add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 );

// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10);
/**
 * 移除 embeds
 */
remove_action('rest_api_init', 'wp_oembed_register_route');
// Turn off
add_filter('embed_oembed_discover', '__return_false');
// Don't filter oEmbed results.
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
// Remove oEmbed discovery links.
remove_action('wp_head', 'wp_oembed_add_discovery_links');
// Remove oEmbed-specific JavaScript from the front-end and back-end.
remove_action('wp_head', 'wp_oembed_add_host_js');
//add_filter('tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin');
// Remove all embeds rewrite rules.
remove_action( 'embed_head', 'print_emoji_detection_script' );
remove_action( 'embed_head', 'print_embed_styles' );
发布日期:
分类:随说