思路:

1,世界上不会重复的是时间。
2,常见的一种加密方式是md5方式,无规律。
3,现有的文章,肯定不会有文章的别名是重名的。

方法:

基于以上几点,使用下面的方法,重新生成每个文章的别名。一种唯一的安全的由32位字符串组成的别名。
可以使用wordpress的wp_update_post方法进行更新。
假设,要修改的文章类型为godaddy,代码如下:
将下列代码加入到主题中的functions.php中。

$all_posts = get_posts( array (  'post_type' => 'godaddy','numberposts' => -1 ) );
foreach ( $all_posts as $post )
{
   $new_slug = md5( $post->post_name.time() );
   
   if ( $post->post_name != $new_slug )
    {
        wp_update_post(
            array (
                'ID'        => $post->ID,
                'post_name' => $new_slug
            )
        );
    }
}

数据库当中的文章越多,所需时间越长。
记得,修改完后删掉代码。否则每一次的访问都会触发该函数。也建议半夜等访问量较低时间段进行操作。

本篇文章相关标签: