WordPress强迫症技巧:让文章(ID)地址完美连续(障眼法)

这几天博客一直被 CC 攻击,虽然也没带来什么影响,但是因为多 IP 的并发会导致带宽不够,所以暂时用上了百度云加速。因此,导致之前前台刷新缓存功能也就失效了,因为百度云加速节点还缓存了一份呢!

所以,这些天折腾了下 WordPress 评论的动态加载机制,而且已成功实现!打算先测试 2 天,没有问题之后再发文分享,确保读者拿到的是最完善的的代码与教程。

今天有博友在中国博客联盟的群里提到了 WordPress 文章 ID 不同步的问题。我作为强迫症,又不喜欢用乱糟糟的文章名称来作为固定链接,所以对于 WordPress 文章 ID 不连续也是深恶痛绝已久!WordPress 文章 ID 不连续这个问题,网络上有很多千篇一律的教程,都是要你关闭文章修订版本、关闭自动草稿,完了还来一句:“这样就可以完美解决文章 ID 不连续问题了。”

实际上,按照这些方法操作一遍之后,你会发现这个问题依然没有解决!虽然 ID 不连续问题有所缓解,但是只要你上传图片或其他附件,就会占用 ID,导致文章 ID 不连续!所以,这个问题依然没能解决!!!

那到底怎样才能彻底解决?

从上传图片那一步看,我们只要找到上传图片的处理代码,然后将数据库操作代码给屏蔽了,就能彻底根治这个问题!但是,先不说修改这些核心代码如何如何麻烦,一旦 WordPress 更新,我们又得重新来一遍!所以,不到万不得已,我们最好不要动 WordPress 核心代码。

那该如何是好?

今天,讨论这个问题的时候,突然灵光一闪,既然直接实现有困难,那我们就换一个思路好了!

思路如下:

①、在后台固定链接设置中,将文章固定链接设置为/%postname%.html 的形式; ②、写文章时,将文章别名设置为阿拉伯数字形式,并且和上下文保持连续即可。

那么问题来了,新博客从头开始确实可以每次写文章都用连续的数组作为 ID,那我们这种有了不少文章的老博客怎么办?难道真的只有新博客可以用这个方法,老博客只能干瞪眼?其实不然,请继续往下看!

已有不少文章的博客,出于 SEO 考虑,我们不可能因为文章 ID 不连续就全部重新来过一次,造成了大量的 404。那我们换一个角度:我们还是用%postname%这个思路,然后将已存在的文章的别名直接修改为它对应的 ID,以后新写的文章则直接将别名设置为与上一篇连续的数字即可!虽说,老文章存在不连续,但是至少以后发布的新文章是绝对连续的,也算是间接满足了一下强迫症的需求。

下面说具体做法:

这要一篇一篇去修改旧文章别名=ID 也太苦逼了!

所以我们可以直接修改数据库来批量设置别名=文章 ID:

方法 1、进入 mysql 命令或者 phpmyadmin 的 SQL,执行如下命令即可:

update wp_posts set post_name=ID where post_status='publish' and post_type='post';

Ps:wp_posts 是 WordPress 的文章数据表,wp_ 是默认的前缀,如果自定义更改过,请根据实际修改即可。 

方法 2、如果是虚拟主机,可以使用以下 PHP 代码:

<?php
/**
* 将所以已发布的文章别名修改成对应ID,让文章以别名完美连续 By 张戈博客
*
* 文章地址:http://zhangge.net/5008.html
*
* Ps:备份网站数据库后,请放到WordPress根目录执行,成功后请记得删除!
**/
 
require('./wp-blog-header.php');
global $wpdb;
$wpdb->query("UPDATE $wpdb->posts SET post_name = ID WHERE post_status = 'publish' AND post_type = 'post'");
echo 'Update Success!';
?>

将以上代码保存为 php 文件,比如 uppostname.php,并上传到网站根目录,执行即可,成功后记得删除!

Ps:所有设置数据库的操作务必记得先备份,避免因失误带来无法挽回的损失。

成功完成以上步骤之后,你之前发布的文章的别名就全部变成了对应的 ID 了!这时候你就可以放心大胆的将固定链接设置为/%postname%.html 了!后续写文章,手动将文章别名设置为与上文连续的数字即可让文章地址完美连续!

目前张戈博客有 300 多篇文章,ID 已用到了 5000+,已实施以上方法,后续的文章将从 5009 完美连续!!

贴张效果截图:

也许有些人会觉得这个方法太麻烦,每次写文章不但需要看一下上一篇文章的别名用到哪个数字了,还要额外手动修改别名。但尼玛是强迫症啊,还喜欢偷懒的话,该干嘛干嘛去啊,千万别纠结这些没用的,小心着急上火哟!

好了,文章介绍的方法非常简单,希望那些要用 WordPress 做站、并且有强迫症的朋友,能早点看到这篇文章,免得后面抓耳挠腮哟!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

faststone image viewer-替代 acdsee 的看图软件

2213
来自专栏逸鹏说道

Web前端性能优化教程01:减少Http请求和使用内容分发网络

性能黄金法则 只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,c...

4297
来自专栏假装我会写代码

基于 Laravel 的用户动态模块开发

1443
来自专栏技术小讲堂

PHP环境中安装pear、phpunit以及xdebug全攻略1.准备2.安装

首先,本文是基于wamp环境的基础上的,所以,如果您看到这里还没有搭建好wamp环境的话,介意您先把环境搭建好,因为这里都是一些实践性的内容。 1.准备 wam...

3858
来自专栏腾讯云TStack专栏

consul的service mesh功能初体验

|作者简介 ? consul之前一直被当成一个服务发现、分布式KV服务、服务健康检查服务等,但此前发布的1.2版本,宣称其实现了Service Mesh方案。...

2701
来自专栏杨建荣的学习笔记

需要了解的pssh(r11笔记第28天)

昨天的一篇文章,关于ssh命令的几个使用小技巧(r11笔记第27天),也收到了不少朋友的反馈,其中有个朋友提议说还是用pssh吧,我想想也是。 对...

3406
来自专栏贺贺的前端工程师之路

React Native  APP 添加自动更新

添加APP的自动,使用的第三方库是:react-native-code-push。新版本使用起来特别简单。添加步骤如下:

671
来自专栏葡萄城控件技术团队

渐进式Web应用程序的深入概述

如果您是Web开发人员,您可能已经了解渐进式Web应用程序(PWA)或已经实现了自己的应用程序。 如果您不熟悉,本文将深入概述渐进式Web应用程序的实现原理,以...

722
来自专栏美团技术团队

WebView性能、体验分析与优化

在App开发中,内嵌WebView始终占有着一席之地。它能以较低的成本实现Android、iOS和Web的复用,也可以冠冕堂皇的突破苹果对热更新的封锁。 然而便...

92012
来自专栏更流畅、简洁的软件开发方式

【自然框架】之通用权限(八):权限到字段(列表、表单、查询)

 通用权限想要写的文章目录:(这是第八章) 1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描...

2647

扫码关注云+社区