设为首页
收藏本站
社区
BBS
导读
Guide
登录
立即注册
老文社区
»
社区
›
探讨交流
›
全球主机
›
wordpress的文章ID不连续问题,都是怎么解决的? ...
广告招租A
广告招租B
广告招租C
广告招租D
1
2
/ 2 页
返回列表
发布新帖
楼主:
酱紫-喵
[交流]
wordpress的文章ID不连续问题,都是怎么解决的?
有杀气的萝莉
有杀气的萝莉
当前离线
积分
28
窥视卡
雷达卡
发表于 2024-10-12 13:40:12
|
显示全部楼层
新站的话设置文章格式为/%postname%.html
然后把下面的加入主题functions.php中
function auto_generate_numeric_slug($post_id) {
// 检查是否是自动保存,避免无限循环
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
// 检查当前用户是否有权限编辑文章
if (!current_user_can('edit_post', $post_id)) {
return;
}
// 检查文章是否已经有别名(slug),避免重复更新
$post = get_post($post_id);
if ($post->post_name) {
return;
}
// 获取文章类型,只为普通文章生成别名
if (get_post_type($post_id) != 'post') {
return;
}
// 获取最后一篇文章的 ID
$args = array(
'post_type' => 'post',
'posts_per_page' => 1, // 只获取最后一篇文章
'post_status' => 'publish', // 只获取已发布的文章
'orderby' => 'ID',
'order' => 'DESC',
'post__not_in' => array($post_id) // 排除当前文章,防止冲突
);
$last_post = get_posts($args);
// 如果存在文章
if ($last_post) {
$last_post_id = $last_post[0]->ID;
$last_slug = get_post_field('post_name', $last_post_id);
// 提取数字部分
if (is_numeric($last_slug)) {
$last_number = (int)$last_slug;
} else {
$last_number = 0;
}
} else {
// 如果没有找到任何文章,起始数字设为 0
$last_number = 0;
}
// 自增数字
$new_number = $last_number + 1;
// 更新当前文章的 slug 为自增的数字
wp_update_post(array(
'ID' => $post_id,
'post_name' => $new_number
));
}
add_action('save_post', 'auto_generate_numeric_slug');
✍ 「老文社区」欢迎您 ...
回复
使用道具
举报
照妖镜
心有翅膀
心有翅膀
当前离线
积分
483
窥视卡
雷达卡
发表于 2024-10-12 13:43:27
|
显示全部楼层
好帖必须得顶起
✍ 「老文社区」欢迎您 ...
回复
使用道具
举报
照妖镜
1
2
/ 2 页
返回列表
发布新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
关于我们
关于我们
加入我们
联系我们
热门版块
全球主机
新赚客吧
问题求助
投诉/建议联系
[email protected]
@ 本站内容如侵犯您的权益,请联系管理员删除.
© 本站内容均为会员发表,并不代表本站立场!
扫码手机访问
Copyright © 2001-2024
老文社区
版权所有
All Rights Reserved.
|
网站地图
关灯
快速发帖
扫一扫添加微信客服
返回顶部
快速回复
返回顶部
返回列表