WordPress自定义分类法专题功能实现代码

WordPress自定义分类法专题功能实现代码,第1张

概述去年海报功能受到不少站长的喜欢,今年WordPress的专题功能又有了不少粉丝。专题这个东西在好几年前就出现过,不知为何消失在历史中了。不过最近国内主题出

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。内存溢出小编现在分享给大家,也给大家做个参考。

去年海报功能受到不少站长的喜欢,今年 wordpress 的专题功能又有了不少粉丝。专题这个东西在好几年前就出现过,不知为何消失在历史中了。不过最近国内主题出现好几款带专题功能的,连水煮鱼都开始做专题插件了,说明这个东西还是挺有作用的。不过用别人的代码总是受制于人,我比较喜欢自己掌控,今天就讲一讲用代码实现 wordpress 的专题功能,一起来学习下吧!



从上图可以看出来,专题其实就跟分类功能一样,当然,这是我的理解,其实你用标签功能也是一样可以实现专题功能的,道路千万条,就看你选哪一条了。

本文所讲的专题实现办法是通过 wordpress 提供的函数,为 post 文章类型注册一个专题,wordpress 默认为 post 文章类型注册了分类。我们注册的专题就和默认的分类相似,看代码:

$labels = array(

'name' => '专题',

'singular_name' => 'special',

'search_items' => '搜索',

'popular_items' => '热门',

'all_items' => '所有',

'parent_item' => null,

'parent_item_colon' => null,

'edit_item' => '编辑',

'update_item' => '更新',

'add_new_item' => '添加',

'new_item_name' => '专题名称',

'separate_items_with_commas' => '按逗号分开',

'add_or_remove_items' => '添加或删除',

'choose_from_most_used' => '从经常使用的类型中选择',

'menu_name' => '专题',

);

register_taxonomy(

'special',

array('post'),

array(

'hIErarchical' => true,

'labels' => $labels,

'show_ui' => true,

'query_var' => true,

'rewrite' => array( 'slug' => 'special' ),

)

);

将上面的代码放在你的主题 functions.PHP 中,你会在 wordpress 后台看到上面图片上的专题功能。写文章时可以看到下图所示的新功能。



register_taxonomy 的使用这里不多讲,需要的自己去查手册。但是在使用时,大家要注意该方法的第一个参数必须是英文类型的,不能使用中文,这个参数是即将注册的分类名称,记住它,下面读取数据会用到它,wordpress 默认的分类名称是 category。

读取专题下的所有分类专题,实例代码:

$args=array(

'taxonomy' => '分类法名称',

'hIDe_empty'=>'0',

'hIErarchical'=>1,

'parent'=>'0',

);

$categorIEs=get_categorIEs($args);

将返回的数组遍历,可以得到每个分类对象,通过

$categorIEs[0]->term_ID;

这样的方式来获得对应数据,当然你也可以使用其它方法来取得数据,这里我只是举个例子。

自定义分类法的分类模板

前面我们创建了一个名叫 special 的专题分类,我们只需要在主题目录下创建一个 taxonomy-special.PHP 模板文件,访问我们自定义的分类法下的分类时,wordpress 会自动使用这个模板来处理。也许你已经发现其中的奥秘,没错,taxonomy-分类法名称.PHP 就是这样的格式。在自定义分类法分类模板中输出当前所在分类信息,使用如下代码:

$term = get_term_by( 'slug',get_query_var( 'term' ),get_query_var( 'taxonomy' ) );

var_dump($term);//当前分类对象

echo '分类地址:'.get_term_link($term);

在文章页面获取当前文章所属自定义分类法中的分类信息,可以通过如下代码实现:

//获取文章ID

$post_ID = get_the_ID();

$terms = get_the_terms( $post_ID,'special' );

var_dump($terms);

同样返回的是所属自定义分类法中的分类,可以是多个,决定于你写文章时在后台勾选的分类法数量,多个自己遍历就好。有了上面这些代码,相信诸位读者实现专题功能应该不难了!

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的WordPress自定义分类法专题功能实现代码全部内容,希望文章能够帮你解决WordPress自定义分类法专题功能实现代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/1006365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存