关于自定义文章类型和固定链接结构,大家可以想回顾一下:

  • WordPress 自定义文章类型 介绍及实例解说(上)
  • WordPress 自定义文章类型 介绍及实例解说(下)
  • WordPress快速添加多个自定义文章类型
  • WordPress自定义文章类型的固定链接设置插件:Custom Post Type Permalinks

自定义文章类型默认输入的固定链接结构为 /%postname%  。假设我们添加的自定义文章类型为 book ,那么默认输出的 book 文章链接一般为 http://域名/book/slug (slug为标题别名)。如果文章标题是中文(比如:一本好书),而且你没有手动或者使用插件翻译为非中文的 slug (a-nice-book),那么显示的链接就会是http://域名/book/一本好书 ,这样一来,文章链接的中文部分就会显示成乱码,实在不符合我们的审美标准了。

那么,我们可以将 /%postname% 改为 /%post_id% 或 /%post_id%.html 样式,使用ID来显示。要实现这个目的,可以使用文章开头提到的 Custom Post Type Permalinks 插件。如果你是插件或主题开发者,一般都喜欢直接通过代码定义好默认的固定链接结构。

可以在插件函数文件或主题的functions.php 文件添加下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*** 设置 book 这种自定义文章类型的固定链接结构为 ID.html * http://www.wpdaxue.com/custom-post-type-permalink-code.html*/
add_filter('post_type_link', 'custom_book_link', 1, 3);
function custom_book_link( $link, $post = 0 ){if ( $post->post_type == 'book' ){return home_url( 'book/' . $post->ID .'.html' );} else {return $link;}
}
add_action( 'init', 'custom_book_rewrites_init' );
function custom_book_rewrites_init(){add_rewrite_rule('book/([0-9]+)?.html$','index.php?post_type=book&p=$matches[1]','top' );
}

以上代码就可以输出形如 /book/123.html 的链接。请将代码中所有 book 替换为你的自定义文章类型。

如果你要同时定义多种自定义文章类型,可以使用下面的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*** 设置多种自定义文章类型的固定链接结构为 ID.html* http://www.wpdaxue.com/custom-post-type-permalink-code.html*/
$mytypes = array(//根据需要添加你的自定义文章类型'type1' => 'slug1','type2' => 'slug2','type3' => 'slug3');
add_filter('post_type_link', 'my_custom_post_type_link', 1, 3);
function my_custom_post_type_link( $link, $post = 0 ){global $mytypes;if ( in_array( $post->post_type,array_keys($mytypes) ) ){return home_url( $mytypes[$post->post_type].'/' . $post->ID .'.html' );} else {return $link;}
}
add_action( 'init', 'my_custom_post_type_rewrites_init' );
function my_custom_post_type_rewrites_init(){global $mytypes;foreach( $mytypes as $k => $v ) {add_rewrite_rule($v.'/([0-9]+)?.html$','index.php?post_type='.$k.'&p=$matches[1]','top' );}
}

参考资料:http://www.solagirl.net/custom-post-type-permalink.html

WordPress 修改自定义文章类型的固定链接结构相关推荐

  1. 一文说透WordPress的自定义文章类型

    转自丘壑博客 从2004年的1.0版本算起,WordPress在14年间已经迭代开发到了5.x版.如果说这中间哪个版本是一个质的提升的话,那应该算是2010年发布的代号为Thelonious 的 3. ...

  2. Wordpress 自定义文章类型添加 Categoried、Tags

    默认情况下 ,自定义文章类型没有分类和标签属性,需要通过 register_taxonomy_for_object_type 手动注册文章分类和标签,可以通过在 functions.php 或插件中添 ...

  3. html怎么设置虚拟浏览量,WordPress修改增加文章浏览点击量(阅读量)

    新发布的WordPress文章点击浏览数量肯定是0,于是很多访问量网站觉得很不好意思. 比如我这3篇新发布的文章的浏览量都是0. 我个人觉得没什么. 需要的是坚持,每天坚持发布原创的优质文章,排名会好 ...

  4. html5置顶按钮如何添加,WordPress如何自定义文章开启置顶按钮?

    WordPerss想制作置顶的功能,结果竟然发现自定义文章类型没有置顶的功能选项,查阅资料后发现WP只是没有显示置顶的选项,功能和文章类型一样.那么WordPress如何自定义文章开启置顶按钮? 添加 ...

  5. 自定义文章类型(Custom Post Types)添加POST_TYPE——以增加Slider为例(未完待续)...

    自定义文章类型(Custom Post Types)添加POST_TYPE--以增加Slider为例(未完待续) 钩子: add_action('init', 'cube_slider_registe ...

  6. Wordpress 自定义文章类型的显示以及分页问题

    前提:自己开发了一套主题,并且全局使用了自定义了文章类型. 首页调用了四个分类来显示,并且每个分类显示8个文章,使用查询方式如下: $args = array('post_type'=>'vid ...

  7. Wordpress分类目录列表时404和固定链接关系及解决方法

    环境:WordPress 5.2 第一次用WordPress做网站,整体感觉不错,但还是有些意想不到的小问题,比如分类目录的列表无法显示,而且还不好找答案,在网上找到修改"固定链接" ...

  8. 自定义文章类型/分类 自由读取自定义分类

    使用 get_terms 函数可以自由读自定义分类. get_terms 函数共有2个参数. 第1个是自定义分类名. 第2个是各种设置的数组. 除了自定义分类名以外,其它基本和 get_categor ...

  9. html 使用符号设置固定链接,关于dw-question-answer的调试和固定链接id.html设置

    关于问答插件,我想大家都不陌生,wp大学介绍了很多种,这里我们重点说下关于dw-question-answer的设置问题,通过调试,发现这款插件功能很全,可以设置权限,投票,状态等等,但对于设置了页面 ...

最新文章

  1. Day34 数据库的增、删 、改、查
  2. linux字体栅格化,响应式开发---网页的布局方式、媒体查询、栅格化布局、less语言...
  3. 如果用户希望将一台计算机,计算机网络试卷(有答案版)
  4. http超文本传输协议
  5. julia在mac环境变量_在Julia中确定值/变量的类型
  6. 证明人工智能的数据只要足够多,就可以接近理想效果
  7. 黑客勒索遭遇霸气回应:不怕,我们有备份
  8. mysql 前n个最大值_选择MySQL中的第n个最大值
  9. codeforces 123D. String(后缀数组+单调栈,好题)
  10. NGINX实现负载均衡,并利用PHP实现session入库
  11. chromium 47 Chrome浏览器启动命令行参数
  12. 浙江电信张涛:天翼阅读未来将收费 资费采用包月形
  13. 【数据分析】2022 年将占据主导地位的 3 种数据和分析趋势
  14. Auto uninstaller 9.3.89下载安装教程,专治卸载不干净cad、修复等的问题
  15. oracle批量备份表的存储过程
  16. matlab对三维面求积分,matlab三维数值积分问题
  17. PID控制------伯德图原理
  18. 【Jolla】离线更新方法
  19. Qt+OpenCV联合编程
  20. 机械工程基础知识点汇总

热门文章

  1. Java对象序列化与反序列化
  2. 全球与中国正射投影仪市场深度研究分析报告
  3. 【看表情包学Linux】初识文件描述符 | 虚拟文件系统 (VFS) 初探 | 系统传递标记位 | O_TRUNC | O_APPEND
  4. MacBooster Pro 8.0.4中文版 — Mac清理优化工具
  5. EC20 4G模块调试注意事项调试说明
  6. Halcon 算子一 Halcon中Matching图形匹配
  7. 动物识别专家系统 Java 简单实现
  8. 六一发奖:大家说,书可以这么送
  9. 让企业安心过年,腾讯安全上线新春服务
  10. 2023年lumion最全配置清单,新手小白必看