wordpress建站之如何为WordPress用户注册自定义分类

该自定义分类,因为WordPress的2.9功能已出台。它允许您为Post,Page和Custom Post Types创建自定义组。 假设您正在构建图书目录网站,并且您已创建用于发布图书的自定义帖子类型。通过使用自定义分类,您可以为其创建一个名为Genre的自定义分类。在此类型分类法中,您可以创建许多项目( WP网站建设

自定义分类,因为WordPress的2.9功能已出台。它允许您为Post,Page和Custom Post Types创建自定义组。

假设您正在构建图书目录网站,并且您已创建用于发布图书的自定义帖子类型。通过使用自定义分类,您可以为其创建一个名为Genre的自定义分类。在此类型分类法中,您可以创建许多项目(在技术上称为术语),例如小说,儿童或传记,用于对书籍进行分组。

不幸的是,在这一点上,我们无法向用户注册自定义分类 ; 至少不是以直截了当的方式,因为我们会在其他邮政类型中注册它。我们可以从这个想法中预见到的一个完美的应用是,我们可以使用它来分配其他用户属性,例如他们的职业职业组织职位,而不是注册一组新的用户角色。它还可以根据分配的分类术语查询用户。

入门

首先,我们将安装一个名为User Taxonomies的插件来简化我们的工作。

一旦插件被激活。转到GenerateWP以生成分类代码。将代码输出放在主题的functions.php文件中。下面的代码片段就是一个例子。尽管如此,它已被剥离,使这篇文章看起来更短。您可以点击此链接查看完整代码。

1
2
3
4

6

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参数:

1

register_taxonomy( 'staff_position', 'post', $args );

从… postuser,像这样:

1

register_taxonomy( 'staff_position', 'user', $args );

现在,转到WP-Admin,您会在“用户”菜单下找到一个新菜单,如下所示。

wordpress建站之如何为WordPress用户注册自定义分类
分配自定义分类

导航到新菜单并创建一些术语。在本例中,我们创建了两个项目:CEOManagers

wordpress建站之如何为WordPress用户注册自定义分类

然后转到用户编辑屏幕并将分类中的一个项目分配给用户。

wordpress建站之如何为WordPress用户注册自定义分类

查询用户

我们将根据给定的术语(分类法)显示主题中的用户。但在继续之前,让我们创建一个新的页面模板。我们将在此新模板中的以下部分添加代码。

在这种特殊情况下,我们将无法用get_users或查询用户WP_User_Query; 在创建新WP_User_Query类时,它不会输出分配给用户的自定义分类。Justin Tadlock 在他的教程中向我们展示了如何使用该get_objects_in_term函数。

此函数输出与术语绑定的对象ID(在我们的示例中,对象表示用户)。要使用它,我们需要两个参数:Term ID和Taxonomy名称。您可以在编辑时在浏览器URL栏中找到术语ID,如下所示。

wordpress建站之如何为WordPress用户注册自定义分类

一旦找到了ID,就把它放在函数中,就像这样。

1

$users = get_objects_in_term(3, 'user_position');

您可以使用它var_dump()来显示已检索的对象ID; 在我的例子中,它返回ID为1和的用户3

wordpress建站之如何为WordPress用户注册自定义分类

使用这些ID,我们还可以检索用户名和头像。

1
2
3
4

6
7
8
9
10

<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>

……最后,这是结果。

wordpress建站之如何为WordPress用户注册自定义分类

而已。您可以自由修改上述代码以满足您的要求。

原创文章,作者:网站建设,如若转载,请注明出处:https://www.davidwu.net/archives/7687

发表评论

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