在中国,很多人的固定连接都是围绕着文章的 ID 展开的,而在国外则大多数都是文章的别名(默认为文章的标题小写并去除或转义一些特殊字符)。如果使用文章的别名作为固定连接,不手动设置别名,就会出现中文链接,非常不好。
但如果有一天你想在固定连接里包含别名,那就最好手动设置每一篇文章的别名,防止出现中文。但这样,之前的文章还是会出现中文,又懒得去改,怎么办呢?本文就教你怎么把老文章的别名自动设置成自身的 ID.
首先把下边的代码放到主题的 functions.php 里:
代码语言:javascript复制function Bing_post_name_id(){
query_posts( 'posts_per_page=-1' );
while( have_posts() ){
the_post();
$post_id = $GLOBALS['post']->ID;
wp_update_post( array(
'ID' => $post_id,
'post_name' => $post_id
) );
}
wp_reset_query();
}
if( $_GET['post_name_id'] == 'yes' ) add_action( 'init', 'Bing_post_name_id' );
放置好代码后,访问一下下边的网站,访问前注意一定要备份数据,以免出错。
http://example.com?post_name_id=yes
文章多的话网页加载会比较慢,因为正在一篇文章一篇文章的修改别名,要耐心等到网页完全加载好才可以。
加载好后,删除之前添加的代码,修改完成,所有文章的别名都会变成自身的 ID.
原文:http://www.endskin.com/post-name-id.html