如果WordPress固定链接设置为 %post_id%.html ,由于WordPress本身的一些机制,发表的文章ID不是连续的,这也许很多人都遇到过,本博客曾经发布过 WordPress 4.1禁用修订历史、自动保存和自动草稿 ,但是使用时发现插入图片等其他操作也会占用ID,几经尝试,找到一个另类的方法,效果见本博客。
实现方法
首先将WordPress的固定链接设置为 %postname%.html ,先发表一篇文章,将链接修改为 1.html (也就是文章的 post_name 字段设置为1),然后修改主题的 function.php 文件,将下面的代码加入进去:
1 2 3 4 5 6 7 |
//WordPress实现文章固定链接连续 function fun_Permalink($slug){ if ($slug) return $slug; global $wpdb; return $wpdb->get_row("SELECT post_name FROM {$wpdb->posts} WHERE {$wpdb->posts}.post_status = 'publish' AND {$wpdb->posts}.post_type = 'post' ORDER BY {$wpdb->posts}.ID DESC")->post_name + 1; //原文章没有添加 post_type 的筛选,实际测试表明加上更准确 } add_filter('name_save_pre', 'fun_Permalink',1); |
原理:写新文章时,查找上一篇已发布文章的 post_name ,将其+1后返回给文章链接。
- 本文固定链接: https://blog.kuoruan.com/5.html
- 转载请注明: Index 于 扩软博客 发表
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!