将WordPress文章别名设置为文章ID、英文、拼音完全教程

使用 wordpress 建站,有时候需要使用文章别名作为固定链接,但自动填充的是标题汉字,那有什么办法可以让其自动转化为字母或者数字呢?使用 WordPress 的站长朋友肯定对文章别名不陌生,大多数时间我们是用不到这个功能的,但在国外很多站点的固定链接都是采用文章别名的。且有些插件和主题是必须要设置%postname% 这样的别名固定链接才能使用,而中文站点自动生成的文章别名直接是汉字,还需要我们手动修改,今天雅兮网就给大家带来将 WordPress 文章别名设置为文章 ID、英文、拼音完全教程。

文章 ID

1、新文章自动使用 ID 作为别名,将下面的代码添加到主题的 functions.php,新建的文章都会自动使用 ID 作为别名。

  1.     /**
  2.     * WordPress新文章自动使用ID作为别名
  3.     */
  4.     add_action( 'save_post', 'using_id_as_slug', 10, 2 );
  5.     function using_id_as_slug($post_id, $post){
  6.     global $post_type;
  7.     if($post_type=='post'){ //只对文章生效
  8.     // 如果是文章的版本,不生效
  9.     if (wp_is_post_revision($post_id))
  10.     return false;
  11.     // 取消挂载该函数,防止无限循环
  12.     remove_action('save_post', 'using_id_as_slug' );
  13.     // 使用文章ID作为文章的别名
  14.     wp_update_post(array('ID' => $post_id, 'post_name' => $post_id ));
  15.     // 重新挂载该函数
  16.     add_action('save_post', 'using_id_as_slug' );
  17.     }
  18.     }

2、修改老文章别名为文章 ID,将下面的代码添加到主题的 functions.php。

  1.     /**
  2.     * 修改WordPress旧文章别名为文章ID
  3.     */
  4.     function Bing_post_name_id(){
  5.     query_posts( 'posts_per_page=-1' );
  6.     while( have_posts() ){
  7.     the_post();
  8.     $post_id = $GLOBALS['post']->ID;
  9.     wp_update_post( array(
  10.     'ID' => $post_id,
  11.     'post_name' => $post_id
  12.     ) );
  13.     }
  14.     wp_reset_query();
  15.     }
  16.     if( $_GET['post_name_id'] == 'yes' ) add_action( 'init', 'Bing_post_name_id' );

放置好代码后,访问一下下边的网站,访问前注意一定要备份数据,以免出错。http://yoursite.com?post_name_id=yes 文章多的话网页加载会比较慢,因为正在一篇文章一篇文章的修改别名,要耐心等到网页完全加载好才可以。加载好后,删除之前添加的代码,修改完成,所有文章的别名都会变成自身的 ID。

标题英文

本方法可以将文章别名设置为文章标题的英文,原理是通过百度翻译和微软翻译自动生成文章英文别名。

  1.     // 自动生成英文别名 - 百度版
  2.     function bymt_slug_auto_translate( $title ) {
  3.     $wp_http_get = wp_safe_remote_get( 'http://fanyi.baidu.com/v2transapi?from=zh&to=en&transtype=trans&query=' . $title );
  4.     if ( emptyempty( $wp_http_get->errors ) ) {
  5.     if ( ! emptyempty( $wp_http_get['body'] ) ) {
  6.     $trans_result = json_decode( $wp_http_get['body'], true );
  7.     $trans_title = $trans_result['trans_result']['data'][0]['dst'];
  8.     return $trans_title;
  9.     }
  10.     }
  11.     return;
  12.     }
  13.     add_filter( 'sanitize_title', 'bymt_slug_auto_translate', 1 );
  1.     // 自动生成英文别名 - 微软版
  2.     function bymt_slug_auto_translate( $title ) {
  3.     $wp_http_get = wp_safe_remote_get( 'http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray2?appId=%22TKT68kjRgkUbVtIKst6Vo0Hxnb6g2f0K3tUMyn1gZ7nc*%22&from="zh"&to="en"&options={}&texts=["' . $title . '"]' );
  4.     if ( emptyempty( $wp_http_get->errors ) ) {
  5.     if ( ! emptyempty( $wp_http_get['body'] ) ) {
  6.     preg_match('/"TranslatedText":"([^"]+)/i', $wp_http_get['body'], $trans_result);
  7.     $trans_title = $trans_result[1];
  8.     return $trans_title;
  9.     }
  10.     }
  11.     return;
  12.     }

笔者在实际使用中发现,使用此方法设置英文别名速度略慢,毕竟是是查询翻译结果,且翻译出来的别名也较长,不太推荐。

标题拼音

以下分享几个较好的插件,可以自动将别名设置为标题的拼音,

Pinyin SEO

这一款是国人开发的,在国内使用量也是较多的一款,可以自动把文章页,分类页,标签页的中文别名自动转换成为拼音格式,还可以把以前文章中的别名也转换过来,使用这款插件的效率是比较高的。

WP Slug Translate

这一款是国外开发的插件,可以把文章的 slug 转换为英文,如果有一些无法正常翻译,则就会使用文章的 ID 来作为别名,唯一不足的就是只能转换文章的 slug,其它的无法转换,相对 pinyin SEO,功能上要稍微差一些。

wp slug translate

这款插件貌似已经不再更新了,插件的功能相当的强大,可以把一切中文别名转化为英文或者是拼音,包括文章,分类,标签页等等,但需要主机开启 fsockopen 函数,否则则不能正常使用,如果没有主机权限的小伙伴就不要使用了。

Auto Tag Slug

这一款插件主要是针对标签 tag 来自动转换的,将 tag 中文别名转换成为拼音或者是英文,可以进行批量转换,同样需要开启 fsockopen 函数,否则会出现错误提示:Function fsockopen() is not supported, please contact your webmaster.自我感觉安装这款插件的意义不大,如果一个个人博客站点,tag 是非常有限的,不会有太大,我们完全可以手动去转换。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/97774

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买