当前位置: 首页 > 知识库问答 >
问题:

WP函数以WP Admin样式显示自定义分类

公孙黎昕
2023-03-14

我为用户-用户类别添加了自定义分类法。

使用下面的代码,我可以在每个编辑用户配置文件页面中输出自定义分类法:

function show_user_category( $user ) {

//get the terms that the user is assigned to
$assigned_terms = wp_get_object_terms( $user->ID, 'user_category' );
$assigned_term_ids = array();
foreach( $assigned_terms as $term ) {
    $assigned_term_ids[] = $term->term_id;
}

//get all the terms we have
$user_cats = get_terms( 'user_category', array('hide_empty'=>false) );

echo "<h3>User Category</h3>";

//list the terms as checkbox, make sure the assigned terms are checked
foreach( $user_cats as $cat ) { ?>
    <input type="checkbox" id="user-category-<?php echo $cat->term_id ?>" <?php if(in_array( $cat->term_id, $assigned_term_ids )) echo 'checked=checked';?> name="user_category[]"  value="<?php echo $cat->term_id;?>"/>
    <?php
    echo '<label for="user-category-'.$cat->term_id.'">'.$cat->name.'</label>';
    echo '<br />';
}
}

上面的代码只是显示一个复选框列表,按term_id排序。

当然,我希望以与自定义分类法术语以自定义文章类型显示相同的方式显示它们(可滚动的复选框列表,其子术语缩进并在其父术语下方)。上面的代码没有按父母/孩子的顺序显示术语。

是否有一个WP函数可以通过我的分类

谢啦

共有1个答案

姚自强
2023-03-14

简短回答:
是的,有。它们被称为post\u categories\u meta\u box()post\u tags\u meta\u box(),具体取决于您使用的分类类型。

长答案:
这是一种可以通过检查WP核心代码来回答的问题。

下面是我如何回答这个问题的演练:

在admin中编辑页面会导致urlwp admin/post。php。因此,检查该文件(post.php)。

在该文件中快速搜索“税收”不会有任何结果,所以我们至少可以查看大小写“编辑”部分,因为我们知道我们正在进行编辑。我们可以看到它包括一个文件edit-form-advanced.php

因此,检查该文件(编辑表单advanced.php)

快速搜索“税收”进入了一个看起来很有希望的领域。

在这里我们看到他们调用get_taxonomy,然后返回的get_taxonomy对象有一个名为meta_box_cb的回调-所以进行跨文件搜索。我们找到了几个实例,但是taxonomy.php中的实例是最有希望的(因为文件名),所以让我们看看那里。

似乎(在taxonomy.php的第430行附近)有一对回调函数—WP core正在使用的是post_categories_meta_boxpost_tags_meta_box。让我们检查它们-对函数post\u categories\u meta\u框进行跨文件搜索,我们发现这两个函数都存在于文件meta框中。php。这些函数的注释非常好,并告诉我们您的问题:“显示帖子类别表单字段”。

有了这些信息,我们可以问谷歌,我们找到WP留档的功能:

post_categories_meta_框

post_tags_meta_box

 类似资料:
  • 更新2添加名称作为字段,而不是段塞,并添加the_title()只需给我一个页面标题的回声... 更新Jonnhyd23的代码非常有效!!谢谢有没有一种方法可以使术语变得动态?就像标题是阿姆斯特丹一样,我能做一些类似于

  • 我搜索了谷歌和Stackoverflow,但我找不到我的问题的答案。 我目前正在使用Jaspersoft Studio 5.6.2 final,我试图在我的表达式编辑器中显示一个自定义函数,但无论我如何尝试,我都无法显示类别和函数。 我开始关注 https://community.jaspersoft.com/wiki/jaspersoft-studio-expression-editor-how

  • 如何在wordpress忍者表单插件中显示自定义错误消息。我已经搜索了忍者表格文件,但无法到达网站。默认情况下,错误消息显示为 我希望它是 提前道谢。

  • 我为woocommerce产品“coffee_type”创建了自定义分类法。我为此分类法创建了一个ACF图像字段“coffee\u type\u image”。 我想在产品页面上显示带有链接的图像,而不是分类法的名称。我在这里读了大多数关于在分类法上显示acf图像的文章,但每一篇都是关于使用归档分类法页面而不是产品页面。我正在编辑single-product.php(确切地content-sing

  • 本文向大家介绍PHP自定义函数格式化json数据示例,包括了PHP自定义函数格式化json数据示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP自定义函数格式化json数据的方法。分享给大家供大家参考,具体如下: PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: http://tools.jb51.net/code

  • 我创建了一个自定义的帖子类型(书),然后为这个特定的帖子类型创建了一个自定义分类法(book_cat)。它工作正常,但如果我单击仪表板中的所有书籍页面,则没有列显示已将书籍分配给哪些类别(book_cat)(如果有)。我需要点击每本书编辑并看到那里。 注册新职位类型功能是: 分类法是: