WordPress 技巧:将所有文章的别名设置成自身的 ID

在中国,很多人的固定连接都是围绕着文章的 ID 展开的,而在国外则大多数都是文章的别名(默认为文章的标题小写并去除或转义一些特殊字符)。如果使用文章的别名作为固定连接,不手动设置别名,就会出现中文链接,非常不好。

但如果有一天你想在固定连接里包含别名,那就最好手动设置每一篇文章的别名,防止出现中文。但这样,之前的文章还是会出现中文,又懒得去改,怎么办呢?本文就教你怎么把老文章的别名自动设置成自身的 ID.

首先把下边的代码放到主题的 functions.php 里:


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

标签:

热门文章