WordPress插件-经常使用的一些插件汇总

Minify HTML

压缩页面HTML

Google XML Sitemaps

生成谷歌站点地图

WP Super Cache

缓存使用

MemcacheD Is Your Friend

加速使用

Advanced Database Cleaner

清理无效的Posts,自动草稿,修订版本

Bulk Move

https://www.0co.cn/0co21181/

批量移动Posts到指定分类

Fixed TOC

https://www.themege.com/downloads/fixed-toc-wordpress-plugin/

生成文章内容的目录导航

All In One WP Security & Firewall

安全插件

还有一种插件,暂时没找到,生成文章的导航链接

WordPress网址-资料-学习研究资料导航索引

WordPress-官方网址

https://wordpress.org/

https://cn.wordpress.org/

WordPress-数据库设计 wordpress db schema

https://codex.wordpress.org/Database_Description

https://codex.wordpress.org/zh-cn:%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8F%8F%E8%BF%B0

WordPress项目源代码

https://wordpress.org/download/source/

WordPress代码参考

https://developer.wordpress.org/reference/

WordPress服务器安装要求

https://wordpress.org/about/requirements/

PHP version 7.4 or greater.
MySQL version 5.6 or greater OR MariaDB version 10.1 or greater.
HTTPS support

WordPress支持–基础

https://wordpress.org/support/article/using-permalinks/

WordPress技巧-上传图片自动重命名的几种办法

相关链接

https://zhan.leiue.com/wordpress-rename-images.html

https://zmingcx.com/wordpress-upload-file-renaming.html

关键字:wordpress 上传图片重命名

使用方法

将代码添加到当前主题functions.php模板文件中即可

代码一,按时间重命名

上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20161023122221765.jpg”

//上传文件重命名
function git_upload_filter($file) {
    $time = date("YmdHis");
    $file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

代码二,用MD5加密生成数字并重命名

名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位

function rename_filename($filename) {
    $info = pathinfo($filename);
    $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
    $name = basename($filename, $ext);
    return substr(md5($name), 0, 20) . $ext;
}
add_filter('sanitize_file_name', 'rename_filename', 10);

其他代码

//根据上传时间重命名文件
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
	$info = pathinfo($file['name']);
	$ext = $info['extension'];
	$filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数
	$file['name'] = $filedate.'.'.$ext;
    return $file;
}
//使用md5转码文件名
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
	$info = pathinfo($file['name']);
	$ext = '.' . $info['extension'];
	$md5 = md5($file['name']);
    $file['name'] = $md5.$ext;
    return $file;
}

WordPress研究-taxonomy与category及term之间的区别

关键字:taxonomy

相关链接:https://10.1pxeye.com/difference-between-taxonomy-category-term/

https://wordpress.org/support/article/taxonomies/

我们在刚开始学习编写wordpress主题时,常常分不清taxonomy, category, term的区别。
在这里我也是按我的理解做一下讲解。
我们分不清taxonomy与category的原因,主要在于它们俩在中文中的意思都是分类(类别)。
 
首先taxonomy是包含category的,但是category不包含taxonomy。
即,taxonomy之间没有明显的共性。而category有。

举例:
树和狗是两个taxonomy(种类)。它们没有共性。
而树可以分为松,白桦,苹果树…而这些松,白桦,苹果树…就是categoies(类别)。
同样狗分为:拉波拉多,柯基,哈士奇…都是category(类别)。
这就是taxonomy和category的主要区别。
term跟category几乎是一样的。
但是term的作用范围稍大一些。

term和category的区别:
category是wordpress的默认类别。
而term可以是自定义分类下的类别。
即:
taxonomy下可以是category,也可以是term。
custom taxonomy(自定义文章分类)下的类别叫term。而不是category。

示意图:

WordPress技巧-SQL-批量建站相关SQL

命令行导出脚本

mysqldump -h localhost -u root -pfn5ywdhfmHGp5dBP zencart >/root/zencart.sql
/www/server/mysql/bin/mysqldump -h localhost -u root -p37ee20e21e21483a wplzqltt > /root/wplzqltt.sql
/www/server/mysql/bin/mysqldump -h localhost -u root -p7NikcJHBhiW3fBy3 wphxztny > /root/wphxztny.sql

复制程序

\cp -rf /root/wp_master/* /www/wwwroot/www.xkthimh.com

更改所有者

chown -R www:www /www/wwwroot/www.xkthimh.com/

更新配置

读取 /root/wp_master/wp-config.php
替换 数据库名字
写入 /www/wwwroot/www.xkthimh.com/wp-config.php
完成

sed -n 's/wplzqltt/wpxkthimh/g' /root/wp_master/wp-config.php
sed 's/wplzqltt/wpxkthimh/g' /root/wp_master/wp-config.php > /www/wwwroot/www.xkthimh.com/wp-config.php

修改wp-config.php 权限

chmod 666 /www/wwwroot/www.xkthimh.com/wp-config.php

导入数据库
替换域名

/www/server/mysql/bin/mysql -u root -p37ee20e21e21483a wpxkthimh < /root/sql/xkthimh.sql

WordPress技巧-SQL-清除草稿SQL命令

总结

用以下五条删除命令,可以清理wordpress中大部分无用的数据,测试通过直接使用

SELECT * FROM `wp_posts` WHERE `post_title`='自动草稿';
delete from wp_posts WHERE `post_title`='自动草稿';
SELECT * FROM `wp_posts` WHERE `post_name` like '%-revision-%';
delete from wp_posts WHERE `post_name` like '%-revision-%';
SELECT * FROM `wp_posts` WHERE `post_status`='auto-draft';
delete from `wp_posts` WHERE `post_status`='auto-draft';
SELECT * FROM `wp_posts` WHERE `post_type`='revision';
delete from `wp_posts` WHERE `post_type`='revision';
delete FROM wp_postmeta WHERE meta_key = '_edit_lock';
delete FROM wp_postmeta WHERE meta_key = '_edit_last';
SELECT count(ID) FROM `wp_posts`;