WordPress主题开发中给自定义文章类型添加短链接

wordpress内置了一种文章链接,型如 www.yoursite.com?p=1 (其中 1 为文章的ID),你可以在后台发布文章的时候查看到:

自定义文章类型认是生成链接的,所以我们需要添加相应的函数。比如我们要给 book 这种自定义文章类型添加链接功能,可以在你的插件文件或者当前主题的 functions.PHP 添加类似下面的代码

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

29

/**

* 给自定义文章类型“book”添加链接

*/

function my_shortlinks_for_book( $shortlink,$id,$context ) {

 

// 上下文可以是一篇文章、附件、或查询

$post_id = 0;

 

if ( 'query' == $context && is_singular( 'book' ) ) {

 

// 如果上下文是查询,使用get_queried_object_id 获取ID

$post_id = get_queried_object_id();

 

}

elseif ( 'post' == $context ) {

 

// 如果上下文是文章,使用以传递的 $id

$post_id = $id;

 

}

 

// 只对 book这种自定义文章类型操作

if ( 'book' == get_post_type( $post_id ) ) {

$shortlink = home_url( '?p=' . $post_id );

}

 

return $shortlink;

}

add_filter( 'pre_get_shortlink','my_shortlinks_for_book',10,3 );

然后在循环中使用 wp_get_shortlink() 函数获取链接

1

<?PHP echo wp_get_shortlink(); ?>

注:本文的用途不是给后台自定义文章类型发布时添加获取链接地址”的功能,而是让自定义文章类型生成链接,然后可以在需要显示的地方输出

相关文章

我们有时候在定制WORDPRESS主题的时候,由于菜单样式的要求我...
很多朋友在做wordpree主题制作的时候会经常遇到一个问题,那...
wordpress后台的模块很多,但并不是每个都经常用到。介绍几段...
从WordPress4.2版本开始,如果我们在MYSQL5.1版本数据中导出...
很多网友会遇到这样一个问题,就是WordPress网站上传图片、附...
对于经常要在文章中出现代码的IT相关博客,安装一个代码高亮...