是否将每个帖子的固定链接结构更改为连续编号?

时间:2010-08-31 作者:rapfaria

我刚刚在我的博客上创建了一个草稿,它的帖子ID是1。创建另一个草稿后,最后一篇帖子的帖子id是3!我希望能按顺序看到它们,所以将来我会有一个很好的自动递增编号,如

../archives/1  
../archives/2   
几个月后。。。

../archives/154
../archives/155
我在深入研究代码方面没有问题,但我想知道是否有人碰巧知道实现这一点的简单解决方案。

非常感谢。

3 个回复
最合适的回答,由SO网友:Andy 整理而成

帖子的ID并不意味着序列号,因为对于帖子N,后面的帖子是N+1。ID是posts表中自动递增的字段,其中包括许多未发布的帖子,例如草稿、页面、附件。因此,实际上没有办法强制WordPress在该字段中分配顺序ID。

有多种方法可以生成一个序列号,然后在permalink结构中使用它,但任何有效的系统都需要将ID存储在单独的位置(表或选项)并编写自定义重写插件。最后一点是相当先进的。

对于有经验的黑客来说,开发一个插件来解决这个问题而不会导致性能显著下降,这将是一个有趣的问题。

SO网友:abrudtkuhl

页面和帖子共享ID,所以我怀疑这是否可行

此外,SEO的最佳永久链接结构是在其中包含postname

SO网友:Doug

正如其他人所解释的,post ID是数据库中的一个自动递增字段,因此在其他方面是不可控制的。您显然不想在permalink中使用此选项。

插件和自定义字段是一个选项,但不推荐使用,因为任何“裸”数字都有可能被WordPress误解为帖子ID或其他内部数字,如年份或日期。

一个不需要自定义字段或插件的更简单的解决方案是为每个帖子编辑帖子slug,并给它一个序列号,前面有一个固定的字母前缀。

例如,代替:

../archives/1  
../archives/2 
...
../archives/x
使用:

../archives/p1  
../archives/p2 
...
../archives/px
更改永久链接结构,甚至可以将其缩短为:

../p1  
../p2 
...
../px
您可以将“p”替换为您想要的任何内容,如“day1”或“deep-think-1”。

结束

相关推荐

How do you debug plugins?

我对插件创作还很陌生,调试也很困难。我用了很多echo,它又脏又丑。我确信有更好的方法可以做到这一点,也许是一个带有调试器的IDE,我可以在其中运行整个站点,包括插件?