当前位置:首页 > 网络科技 > WordPress获取不连续的文章ID

WordPress获取不连续的文章ID

10个月前 (08-25)admin网络科技30

大多程序员对自己的代码都还是拥有极致的追求,子凡我也不例外,作为 WordPress 中毒爱好者来说,WordPress 文章 ID 不连续的问题总是萦绕在心中,其实早在两年前我就有解决一半的问题,其原理就是当删除文章时记录删除文章的 ID,然后写文章的时候就去取回这些被删除文章的 ID 来用。

虽然似乎解决了问题,但是这个功能只能对往后的新内容操作执行,而对于对于像我们泪雪网这样运营多年的老网站来说还无法获取到之前删除过的文章 ID,那么今天子凡就来解决一下这个问题,处理方式也非常简单,就是通过以下代码获取数据库中文章表 wp_posts 中的不连续 ID,将跳过的 ID 查询出来即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//WordPress 获取不连续的文章 ID by Fanly https://w.haolusi.com/wordpress-get-skip-post-id.html
//require('./wp-load.php'); //如果是在别的目录运行记得加载 wp-load.php
 
global $wpdb;
 
// 获取最小和最大的 post ID
$min_max_ids = $wpdb->get_row("SELECT MIN(ID) AS min_id, MAX(ID) as max_id FROM {$wpdb->prefix}posts", ARRAY_A);
 
// 获取所有已使用的 post ID
$used_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->prefix}posts");
 
$missing_ids = array();
 
// 遍历从最小到最大的所有 ID,找出未使用的 ID
for ($i = $min_max_ids['min_id']; $i <= $min_max_ids['max_id']; $i++) {
	if (!in_array($i, $used_ids)) {
		$missing_ids[] = $i;
	}
}
 
// 打印所有未使用的 post ID
print_r($missing_ids);

这段代码首先获取 wp_posts 表中的最小和最大的 post ID,然后获取所有已使用的 post ID。然后它遍历从最小到最大的所有 ID,并检查每个 ID 是否在已使用的 ID 列表中。如果不在,那么就把这个 ID 添加到$missing_ids 数组中。这段代码可能需要一些时间来运行,特别是当有大量的文章和大量的不连续 ID 时。

虽然可以找出未使用的 ID,并且通过开发让 WordPress 自动使用这些 ID,但也不能保证这些 ID 将会保持未使用。而且手动设置 WordPress 的 ID 可能会导致数据不一致和其他问题。所有大家开发时根据自己网站实际情况和需要来使用,当时肯定也可以在使用这些新 ID 时做一些判断来避免。

注明:require(‘./wp-load.php’); 这行代码的目的是引入 WordPress 的主要配置文件(wp-load.php),使你的脚本可以使用 WordPress 的函数和类。然而,实际的文件路径可能会根据你的脚本所在的位置和 WordPress 安装的位置有所不同。’./wp-load.php’ 假设你的脚本和 wp-load.php 文件位于同一目录下。如果你的脚本位于不同的目录,你可能需要使用不同的路径。例如,如果你的脚本位于一个子目录中,你可能需要使用 require(‘../wp-load.php’);,这样就可以向上一级目录查找文件。

更多关于WordPress优化及疑问可以添加留言

w.haolusi.com

本文链接:https://w.haolusi.com/wordpress-get-skip-post-id.html

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1518

标签: WordPress优化
分享给朋友:

“WordPress获取不连续的文章ID” 的相关文章

Do all remote digital tools require payment?

Do all remote digital tools require payment?

Some of these digital tools require payment, while others offer free versions with additional features available by upgrading to paid versions. Here i...

尽早觉醒:找到自己一人能做的互联网生意

尽早觉醒:找到自己一人能做的互联网生意

没有经历过裁员的职场是不完美的。无论何种原因经历次裁员,可能对心智都是一次提升,前面也写过技术人怎么利用空窗期的文章技术人的空窗期,你的涅槃重生。经历过裁员的时候难免感到复杂和沉重。离开的背后,不仅有情感的波动,还有对未来的深深焦虑。当你被通知离职的那一刻,情绪复杂得难以描述。但是,当冷静下来,你会...

WordPress如何将管理员用户主页改为网站首页

WordPress如何将管理员用户主页改为网站首页

最近在做 WordPress 站群的一些项目测试,主题在调用作者的时候就会链接到作者主页,加上很多时候 WordPress 网站就只会使用一个账户来发布文章,虽然可以通过修改主题代码的方式将作者的链接直接链接到网站首页,但是作为一个优雅的 WordPress 开发者来说,肯定是不会轻易动主题源码的,...

WordPress标签实现追加自定义链接

WordPress标签实现追加自定义链接

WordPress 标签的用处说多不多,说少不少,其中利用 WordPress 标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于 WordPress 标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实现给...

WordPress如何移除登录界面中英文语言切换框

WordPress如何移除登录界面中英文语言切换框

其实早在 WordPress 5.9 版本开始,WordPress 默认登录界面就增加了语言切换选项, 其目的就是允许用户自己选择要使用的语言登录后台。这个功能对于多语言网站或是国际性站点可能还有点用,但是对于国内用户来说就显得有些多余。最近子凡在做更深度的 WordPress 优化,同时也为了丰富...

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

最新免费可用!ChatGPT 4.0/4o/3.5 镜像 Mirror|免翻直链中文镜像(2024年8月更新)

本篇文章目录|Table of Contents Hide ChatGPT 4.0/4o/3.5 镜像站列表ChatGPT镜像更新历史什么是Cha...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。