WordPress函数-get_taxonomy()

在 WordPress 中,get_taxonomy() 函数用于获取指定分类法(taxonomy)的详细信息。这个函数返回一个 WP_Taxonomy 对象,其中包含分类法的各种属性和设置。下面详细说明 get_taxonomy() 的使用方法及其输出结果。

1. 函数说明

函数名: get_taxonomy()

参数:

  • $taxonomy: 分类法名称(字符串)。

返回值: 一个 WP_Taxonomy 对象,如果指定的分类法不存在,则返回 false。

2. 输出内容

get_taxonomy() 返回的 WP_Taxonomy 对象包含多个属性,这些属性定义了分类法的行为和显示方式。以下是一些常见的属性及其含义:

  • name: 分类法的名称。
    • 类型: 字符串
    • 示例: "category"
  • label: 分类法的通用标签。
    • 类型: 字符串
    • 示例: "Categories"
  • labels: 包含分类法各个标签的对象。
    • 类型: stdClass
    • 示例:
stdClass Object
    (
        [name] => Categories
        [singular_name] => Category
        [search_items] => Search Categories
        [popular_items] => Popular Categories
        [all_items] => All Categories
        [parent_item] => Parent Category
        [parent_item_colon] => Parent Category:
        [edit_item] => Edit Category
        [view_item] => View Category
        [update_item] => Update Category
        [add_new_item] => Add New Category
        [new_item_name] => New Category Name
        [separate_items_with_commas] => Separate categories with commas
        [add_or_remove_items] => Add or remove categories
        [choose_from_most_used] => Choose from the most used categories
        [menu_name] => Categories
        [not_found] => No categories found.
        [no_terms] => No categories
        [items_list_navigation] => Categories list navigation
        [items_list] => Categories list
    )
  • public: 是否公开显示分类法。
    • 类型: 布尔值
    • 示例: true
  • hierarchical: 分类法是否分层(如类别)。
    • 类型: 布尔值
    • 示例: true
  • show_ui: 是否在管理界面中显示分类法的 UI。
    • 类型: 布尔值
    • 示例: true
  • show_in_menu: 是否在管理菜单中显示分类法。
    • 类型: 布尔值或字符串(菜单 slug)
    • 示例: true
  • show_tagcloud: 是否在标签云中显示分类法。
    • 类型: 布尔值
    • 示例: true
  • show_in_quick_edit: 是否在快速编辑中显示分类法。
    • 类型: 布尔值
    • 示例: true
  • show_admin_column: 是否在管理列中显示分类法。
    • 类型: 布尔值
    • 示例: true
  • meta_box_cb: 自定义元框回调函数。
    • 类型: 回调函数或布尔值
    • 示例: null
  • capabilities: 分类法的权限。
    • 类型: 数组
    • 示例:
Array
    (
        [manage_terms] => manage_categories
        [edit_terms] => manage_categories
        [delete_terms] => manage_categories
        [assign_terms] => edit_posts
    )
  • rewrite: 重写规则设置。
    • 类型: 数组或布尔值
    • 示例:
Array
    (
        [slug] => category
        [with_front] => 1
        [hierarchical] => 1
    )
  • query_var: 查询变量名称。
    • 类型: 字符串或布尔值
    • 示例: "category_name"
  • update_count_callback: 更新计数的回调函数。
    • 类型: 回调函数或布尔值
    • 示例: '_update_post_term_count'

3. 示例代码

以下是一个示例,展示如何使用 get_taxonomy() 获取并输出分类法的详细信息:

// 获取分类法对象
$taxonomy = get_taxonomy('category');

// 检查分类法是否存在
if ($taxonomy) {
    // 输出分类法的名称
    echo "<strong>Name:</strong> " . $taxonomy->name . "<br>";

    // 输出分类法的通用标签
    echo "<strong>Label:</strong> " . $taxonomy->label . "<br>";

    // 输出分类法的各个标签
    echo "<strong>Labels:</strong><br>";
    foreach ($taxonomy->labels as $key => $label) {
        echo "&nbsp;&nbsp;<strong>$key:</strong> $label<br>";
    }

    // 输出其他属性
    echo "<strong>Hierarchical:</strong> " . ($taxonomy->hierarchical ? 'true' : 'false') . "<br>";
    echo "<strong>Public:</strong> " . ($taxonomy->public ? 'true' : 'false') . "<br>";
    echo "<strong>Show UI:</strong> " . ($taxonomy->show_ui ? 'true' : 'false') . "<br>";
    echo "<strong>Show in Menu:</strong> " . ($taxonomy->show_in_menu ? 'true' : 'false') . "<br>";
    echo "<strong>Show Tagcloud:</strong> " . ($taxonomy->show_tagcloud ? 'true' : 'false') . "<br>";
    echo "<strong>Show in Quick Edit:</strong> " . ($taxonomy->show_in_quick_edit ? 'true' : 'false') . "<br>";
    echo "<strong>Show Admin Column:</strong> " . ($taxonomy->show_admin_column ? 'true' : 'false') . "<br>";
    echo "<strong>Meta Box Callback:</strong> " . ($taxonomy->meta_box_cb ? $taxonomy->meta_box_cb : 'null') . "<br>";
    echo "<strong>Capabilities:</strong><br>";
    foreach ($taxonomy->capabilities as $cap_key => $cap_value) {
        echo "&nbsp;&nbsp;<strong>$cap_key:</strong> $cap_value<br>";
    }
    echo "<strong>Rewrite:</strong><br>";
    foreach ($taxonomy->rewrite as $rewrite_key => $rewrite_value) {
        echo "&nbsp;&nbsp;<strong>$rewrite_key:</strong> $rewrite_value<br>";
    }
    echo "<strong>Query Var:</strong> " . ($taxonomy->query_var ? $taxonomy->query_var : 'false') . "<br>";
    echo "<strong>Update Count Callback:</strong> " . ($taxonomy->update_count_callback ? $taxonomy->update_count_callback : 'null') . "<br>";
} else {
    echo "Taxonomy not found.";
}

4. 总结

get_taxonomy() 是一个非常有用的函数,可以帮助开发者获取分类法的详细信息。通过这些信息,可以更好地理解和自定义分类法的行为和显示方式。这对于开发复杂的 WordPress 插件或主题非常有帮助。

WordPress函数
喜欢就支持以下吧
  • 本文由 倾尘SEO 发表于 2025年4月6日
  • 转载请务必保留本文链接:https://www.qcwlseo.com/get_taxonomy.html
 评论   0   访客   0
  • 波浪
  • 波浪
  • 波浪
  • 波浪