[[IT知识]] 如何用Memcached内存缓存优化WordPress自动草稿功能?

[复制链接]
查看: 21|回复: 0
发表于 昨天 16:08 | 显示全部楼层 | 阅读模式
易博V9下载

如何用Memcached内存缓存优化WordPress自动草稿功能?

之前白天发过一篇利用 Memcached 内存缓存来优化 WordPress ,其实 Memcached 内存缓存可以优化 WordPress 很多功能,比如本篇文章白天就来分享一下使用 Memcached 内存缓存来优化 WordPress 自动保存草稿的功能。


如何用Memcached内存缓存优化WordPress自动草稿功能?

WordPress 自动草稿功能

在 WordPress 后台点击新建文章的时候,都会创建一个状态为

  1. auto-draft
复制代码
的草稿,并且每次点击新建文章的时候都会新建一个,然后 WordPress 会执行一个定时作业
  1. wp_scheduled_auto_draft_delete
复制代码
将所有
  1. auto-draft
复制代码
的草稿删除了,这也是post id不连续的原因之一(有一部分是媒体、页面的锅)。

使用 Memcached 内存缓存优化自动草稿

虽说自动草稿可以对我们新建的文章起到一个保护作用,并不会造成什么问题,但是连续的创建新的 auto-draft 的草稿,然后删除,导致 post id 不连续,也算是一种浪费。如果使用 Memcached 内存缓存优化,就可以让自动草稿放到服务器内存中,一小时内直接使用,不再创建新的草稿。

操作方法很简答,只需将以下代码放到当前主题

  1. functions.php
复制代码
文件中,就可以使用 Memcached 内存缓存优化 WordPress 自动草稿功能了。

  1. //使用 Memcached 内存缓存优化 WordPress 自动草稿功能
  2. add_action('current_screen', function ($current_screen){
  3. // 只有新建文章的时候才执行
  4. if($screen_base != 'post' || $current_screen->post_type == 'attachment' || $current_screen->action != 'add'){
  5. return;
  6. }
  7. //如果内存中已有上次创建的自动草稿
  8. if($last_post_id = wp_cache_get(get_current_user_id(), 'wpjam_'.$current_screen->post_type.'_last_post_id')){
  9. $post = get_post($last_post_id);
  10. if($post && $post->post_status == 'auto-draft'){
  11. wp_redirect(admin_url('post.php?post='.$last_post_id.'&action=edit'));
  12. exit;
  13. }
  14. }
  15. add_action('admin_footer', function(){
  16. global $post;
  17. //将自动草稿ID缓存到内存中
  18. wp_cache_set(get_current_user_id(), $post->ID, 'wpjam_'.$post->post_type.'_last_post_id', HOUR_IN_SECONDS);
  19. });
  20. }, 10, 2);
复制代码
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表