Keep permalinks in Wordpress

时间:2012-06-01 作者:Remus Rigo

有没有办法设置我的永久链接以保持其精确链接。如果我有这样的帖子http://blog.rigo.ro/?p=11, 然后我希望每次我编辑帖子时都能保留这个链接。

我已经安装了修订控制插件,并将其设置为不保留修订。有什么办法吗?我想保留这种格式的链接。

编辑:

我又看了一遍,永久链接保持着它们的链接,但每次我编辑它时,它都会向数据库中添加一个新版本,下一篇文章的编号会更高。如果我编辑当前帖子3次(blog.rigo.ro/?p=11),下一篇帖子将是blog。里戈。ro/?p=14。

现在,我的问题是如何保持所有帖子和编辑的干净,一篇帖子/多篇编辑=数据库中的一个条目,所以如果我有。10张贴在我的网站上,我编辑他们,我想我的永久链接是从1到10。

PS:我不想手动编辑我的数据库,有没有插件可以做到这一点?

1 个回复
SO网友:moraleida

您可以通过两个步骤完成:

在数据库上创建一个标志值,该标志值将实际的post计数作为int钩子保存到wp_insert_post_data 过滤并更改生成的段塞itercepts every下面的代码段wp_insert_post data 调用将常规slug更改为1+数据库上引用的最后一个id;

请注意,在运行此操作之前,您需要至少初始化一次db calling update\\u选项上的“last\\u post\\u number”。

function wpse_permalink_change($data) {

        // IMPORTANT: before running the code below, check if this is a new post, 
        // or a post edit and discard post edits.

        // Retrieve the last post number saved  
        $i = get_option( \'last_post_number\' );
        $i++;

        // Set it as your post_name
        $data[\'post_name\'] = $i;

        // Update the last post number  
        update_option(\'last_post_number\', $i)
        return $data;

}
add_filter(\'wp_insert_post_data\',\'wpse_permalink_change\',10,2);
这是未经测试的,有点黑客,但如果有兴趣的话,我可能会把它变成一个插件

另外:只有当您主要关心的是永久链接,而不是真正的数据库primary\\u键时,这才有帮助。

结束

相关推荐

Custom post type permalinks

我有一个名为“数字”的自定义帖子类型,我想实现URL的“帖子”如下http://website.com/post-name 而不是http://website.com/number/post-name.我试图将register\\u post\\u type中的“rewrite”参数设置为:\'rewrite\' => array( \'slug\' => \'\', \'with_front\' => false ), 但它没有起作用。即使我保存了永久链接设置以刷新它。(我将永久链接设