当我们安装主题和插件时,都会向…
该自定义分类,因为WordPress的2.9功能已出台。它允许您为Post,Page和Custom Post Types创建自定义组。
假设您正在构建图书目录网站,并且您已创建用于发布图书的自定义帖子类型。通过使用自定义分类,您可以为其创建一个名为Genre的自定义分类。在此类型分类法中,您可以创建许多项目(在技术上称为术语),例如小说,儿童或传记,用于对书籍进行分组。
不幸的是,在这一点上,我们无法向用户注册自定义分类 ; 至少不是以直截了当的方式,因为我们会在其他邮政类型中注册它。我们可以从这个想法中预见到的一个完美的应用是,我们可以使用它来分配其他用户属性,例如他们的职业,职业或组织职位,而不是注册一组新的用户角色。它还可以根据分配的分类术语查询用户。
入门
首先,我们将安装一个名为User Taxonomies的插件来简化我们的工作。
一旦插件被激活。转到GenerateWP以生成分类代码。将代码输出放在主题的functions.php文件中。下面的代码片段就是一个例子。尽管如此,它已被剥离,使这篇文章看起来更短。您可以点击此链接查看完整代码。
if ( ! function_exists( 'user_staff_position' ) ) { function user_staff_position() { register_taxonomy( 'staff_position', 'post', $args ); } add_action( 'init', 'user_staff_position', 0 ); }
现在,更改以下行中的Post Type参数:
register_taxonomy( 'staff_position', 'post', $args );
从… post到user,像这样:
register_taxonomy( 'staff_position', 'post', $args );
现在,转到WP-Admin,您会在“用户”菜单下找到一个新菜单,如下所示。
分配自定义分类
导航到新菜单并创建一些术语。在本例中,我们创建了两个项目:CEO和Managers。
然后转到用户编辑屏幕并将分类中的一个项目分配给用户。
查询用户
我们将根据给定的术语(分类法)显示主题中的用户。但在继续之前,让我们创建一个新的页面模板。我们将在此新模板中的以下部分添加代码。
在这种特殊情况下,我们将无法用get_users或查询用户WP_User_Query; 在创建新WP_User_Query类时,它不会输出分配给用户的自定义分类。Justin Tadlock 在他的教程中向我们展示了如何使用该get_objects_in_term函数。
此函数输出与术语绑定的对象ID(在我们的示例中,对象表示用户)。要使用它,我们需要两个参数:Term ID和Taxonomy名称。您可以在编辑时在浏览器URL栏中找到术语ID,如下所示。
一旦找到了ID,就把它放在函数中,就像这样。
$users = get_objects_in_term(3, 'user_position');
您可以使用它var_dump()来显示已检索的对象ID; 在我的例子中,它返回ID为1和的用户3。
使用这些ID,我们还可以检索用户名和头像。
<ul> <?php if ( !empty( $users ) ) : ?> <?php foreach ( $users as $id ) : ?> <li class="user-entry"> <figure><?php echo get_avatar( get_the_author_meta('email', $id), '40' ); ?></figure> <h5 class="user-title"><a href="<?php echo esc_url( get_author_posts_url( $id ) ); ?>"><?php the_author_meta( 'display_name', $id ); ?></a></h5> </li> <?php endforeach; ?> <?php endif; ?> </ul>
……最后,这是结果。
而已。您可以自由修改上述代码以满足您的要求。
微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!
需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!