WordPress固定链接使用别名后如何让新文章自动使用ID作为别名?

我们在很多国外的WordPress博客网站和国内的某些网站上都会发现他们的文章URL地址不是我们常见的id.html,而是用文章别名来作为URL,如/%postname%.html。有时候为了让文章ID连续也可以设置固定链接为/%postname%.html,然后每次发布文章时都手动修改别名为ID,这样就可以让ID一直连续下去。

我们中文网站如果把文章URL地址设置为别名的话,万一哪天发布文章忘记修改文章别名为ID就会变成中文,这个不管是对人还是对搜索引擎都是非常不友好的,那么前面我们已经设置固定链接为/%postname%.html,而现在反悔了,有没有办法让以后发布的新文章自动使用文章ID作为别名,而不是每次都人工去修改?办法是有的,而且很简单,只需要将以下代码添加到当前主题的functions.php,然后以后新发布的文章都会自动使用ID作为别名了,以后再也不用担心忘记修改别名而变成中文URL地址了。

/**
* WordPress 新文章自动使用 ID 作为别名
* 雅兮网整理:http://www.iyaxi.com
*/
add_action( 'save_post', 'using_id_as_slug', 10, 2 );
function using_id_as_slug($post_id, $post){
global $post_type;
if($post_type=='post'){
if (wp_is_post_revision($post_id))
return false;
remove_action('save_post', 'using_id_as_slug' );
wp_update_post(array('ID' => $post_id, 'post_name' => $post_id ));
add_action('save_post', 'using_id_as_slug' );
}
}

 

请登录后发表评论

    没有回复内容