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

WordPress获取不连续的文章ID

9个月前 (08-25)admin网络科技20

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

Embracing Minimalism: The Path to a Simpler, More Fulfilling Life

Embracing Minimalism: The Path to a Simpler, More Fulfilling Life

In a world rife with constant distractions and an overwhelming flow of information, Minimalism has emerged as a beacon of simplicity and cla...

断舍离极简生活:本地闲置群,一个比闲鱼更高效的出闲置渠道

断舍离极简生活:本地闲置群,一个比闲鱼更高效的出闲置渠道

虽然我自称为“卖闲置小能手”,但事实上,还是有一些闲置,对我来说很难出手。比如,材质特殊的罐子、花瓶等物。本身的价值可能也就几十块,卖二手折价后就更低了,寄快递吧,除了顺丰大多数快递都没法邮寄。而顺丰价格又太贵,有时候邮费比东西本身还贵。直接扔了?九新的东西,属实有点可惜。有天去面包店购物,店员告诉...

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

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

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

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

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

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

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

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

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

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

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

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

发表评论

访客

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