wordpress数据库怎么优化?

作者 : 小编 发布时间: 2021-03-4 文章热度:829 共2513个字,阅读需7分钟。 本文内容有更新 字体:

目 录

wordpress数据库怎么优化?

wordpress数据库怎么优化?-爱资源分享

大家在使用wordpress的时候,有的时候想把文章分类下的文章全部提取出来,有没有什么简便的方法呢?答案肯定是有的,就是通过wordpress的数据直接来查询。

我们先介绍一下wordpress数据库中的几个表:

wp_posts:里面包括文章ID(ID)、标题(post_title)、发布时间(post_time)、别名(post_name)、状态(post_status)、类型(post_type)等;

wp_terms:里面主要是文章标签编号、名称、别名、分类目录名称、别名等;

wp_term_relationships:对象ID(object_id,部分对应文章ID),对象分类ID(term_taxonomy_id,部分对应分类目录编号)

wp_term_taxonomy:主要是文章分类目录,包括词项分类标号(term_taxonomy_id)、词项编号(term_id)、类型(taxonomy,目录、标签、导航菜单)、文章数(count)等;

还有一些其它的关键信息表,如下面的几个:

wp_links:主要是友情链接信息;

wp_options:里面主要是网站描述、站点URL等信息;

wp_users:网站用户表,包含后台登录帐号;

wp_usermeta:网站用户信息表,用户姓名、邮箱、描述等。

为了实现把文章分类下的文章全部提取出来,我们需要用到需要用到wp_terms、wp_term_relationships、wp_term_taxonomy三个表,将里面的信息进行关联,就可以导出分类目录下的文章地址。

假设给定的分类ID为$CID,那么$CID就对应wp_term_taxonomy表中的term_taxonomy_id字段,因此我们可以获得该分类下的文章数:

select count from wp_term_taxonomy where term_taxonomy_id=$CID and taxonomy =’category’

再根据term_taxonomy_id获取文章标号和标题的SQL,需要联合三个表进行查询,post_status = ‘publish’ 是指文章已经发布,post_type=’post’ 是指记录类型是文章,taxonomy = ‘category’ 是指类型是目录:

select ID,post_title,post_date,post_name from wp_posts,wp_term_relationships,wp_term_taxonomy where ID=object_id and wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id and post_type=’post’ and post_status = ‘publish’ and wp_term_relationships.term_taxonomy_id = $CID and taxonomy = ‘category’ order by ID desc

这样就能把分类目录下的所有文章提取出来。

另外WordPress 有个自动保存与记录修订版本的功能,这2个功能着实鸡肋,时间长了数据库内会产生很多无用数据,我们可以将这2个功能禁用。方法如下:

/** 禁用文章修订功能 */
define(‘WP_POST_REVISIONS’, false);
/** 禁用自动保存功能 */
define(‘AUTOSAVE_INTERVAL’, false);

将上面的代码加入 wp-config.php文件中,注意顺序,如果放在最底部是不生效的,具体位置如下:

/** 禁用文章修订功能 */
define(‘WP_POST_REVISIONS’, false);
/** 禁用自动保存功能 */
define(‘AUTOSAVE_INTERVAL’, false);

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
/** WordPress目录的绝对路径。 */
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . ‘wp-settings.php’);

这样保存后,大家就可以发现文章修订版本记录都没有了。

最后,如果数据库中已经存在了很多修订版本记录,可以用下面的SQL命令来删除即可:

DELETE FROM wp_postmeta WHERE post_id IN (SELECT id FROM wp_posts WHERE post_type = 'revision'); 
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT id FROM wp_posts WHERE post_type='revision');
DELETE FROM wp_posts WHERE post_type='revision';

按顺序一条一条来执行,另外此过程不会影响网站的正常运行以及数据的完整性,大家放心执行命令就行。

最后,如果想将文章由发布状态改为草稿,执行下面的SQL命令即可:

UPDATE `wp_posts` SET `post_status` ='publish' WHERE (`ID`='XXXX' );

将XXXX改为文章ID即可。

如果想将全部已发布文章改为草稿,SQL命令如下:

UPDATE `wp_posts` SET `post_status` ='draft' WHERE (`post_status`='publish');

再说明一下几个状态代表的含义:

1、pending:待审
2、draft:草稿
3、auto-draft:自动保存的草稿
4、inherit:修订版本
5、trash:回收站
6、publish:已发布
7、future:定时
8、private:私有

大家根据需要修改即可。

常见问题FAQ

免费下载或者SVIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
提示下载完但解压失败或打不开?
最常见的情况是下载不完整:可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。若排除这种情况,可在对应资源底部留言,或联络我们。
下载完解压发现有压缩包密码?
本站所有压缩包解压密码均为 www.izyfx.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 内容不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.izyfx.com",如遇到无法解压的请联系管理员!

爱资源分享 » wordpress数据库怎么优化?

发表评论

837+

本站勉强运行

1941+

用户总数

2485+

资源总数

0+

今日更新

2022-7-10

最后更新时间