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

WordPress获取不连续的文章ID

1年前 (2024-08-25)admin网络科技59

大多程序员对自己的代码都还是拥有极致的追求,子凡我也不例外,作为 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” 的相关文章

告别焦虑,技术人的“慢功夫”哲学

告别焦虑,技术人的“慢功夫”哲学

我们现在处一个快节奏的时代,每一个行业都在高速发展,我们也常常被告知要抓住每一个机会,快速成长,迅速成功。但对许多技术人来说,所谓的“快”,有时反而会让我们失去平衡,陷入焦虑和迷茫, 常常又进入事倍功半的困境。之前遇到过一位刚入行不久的年轻技术人,他一脸焦虑地问我:“如果我现在不快点提高,是不是以后...

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

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

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

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

百度正式下线“快速收录”功能,VIP可以申请“快速抓取”权限

最近可以说是站长们一片哀嚎,清明节前刚经历一次大的波动恢复没两天,让后百度又一次性的在清明节再次送走了,目前又开始缓慢的在恢复,但是似乎情况也并不是很妙。就在这时,百度搜索资源平台发布了一则“关于升级平台「快速收录」工具的通知”的公告,意思就是正式下线快速收录功能,换新上线一个叫做“快速抓取”的工具...

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

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

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

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

Timeline Migrate Tools Boxset 剪辑时间线字幕迁移工具套件|FCPX vs PR|XML vs FCPXML|SRT vs XML|macOS|测试教程 Tutorial

本篇文章目录|Table of Contents Hide Final Cut Pro X 提取音频给音频编辑X2Pro Audi...

WordPress禁止符号转码和页面提速

WordPress禁止符号转码和页面提速

WordPress 很多时候其实考虑得非常全面,不论是使用体验还是安全性,但是有些时候难免过犹不及,或者是相比安全性而言难免有所取舍,所以无可厚非。这就比如最近我们在泪雪网发布一篇关于 NotePad–这个编辑器的文章时,就发现 WordPress 出于安全性就自动的将两个减...

发表评论

访客

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