Skip to Content
✨ WP Bones 1.9.6 is out! Check the Release Notes →

Custom Taxonomy Type Service Provider

Properties

args

/** * Array of arguments to automatically use inside `wp_get_object_terms()` * for this taxonomy. * * @var array */

An array of arguments that are automatically used within wp_get_object_terms() for this taxonomy.

Example:

$args = $taxonomyServiceProvider->args;

capabilities

/** * Array of capabilities for this taxonomy. * * @type string $manage_terms Default 'manage_categories'. * @type string $edit_terms Default 'manage_categories'. * @type string $delete_terms Default 'manage_categories'. * @type string $assign_terms Default 'edit_posts'. * * @var array */

Defines the capabilities for managing terms within this taxonomy.

Example:

$capabilities = $taxonomyServiceProvider->capabilities;

defaultTerm

/** * Default term to be used for the taxonomy. * * @type string $name Name of default term. * @type string $slug Slug for default term. Default empty. * @type string $description Description for default term. Default empty. * * @var string|array */

Specifies the default term for the taxonomy, which can include a name, slug, and description.

Example:

$defaultTerm = $taxonomyServiceProvider->defaultTerm;

description

/** * A short descriptive summary of what the taxonomy is for. Defaults to blank. * * @var string */

Provides a brief description of the taxonomy’s purpose.

Example:

$description = $taxonomyServiceProvider->description;

epMask

/** * Assign an endpoint mask. * * @var int */

Defines the endpoint mask for the taxonomy’s rewrite rules.

Example:

$epMask = $taxonomyServiceProvider->epMask;

hierarchical

/** * Whether the taxonomy is hierarchical (e.g. category). * Defaults to false. * * @var bool */

Indicates if the taxonomy is hierarchical, similar to categories.

Example:

$isHierarchical = $taxonomyServiceProvider->hierarchical;

id

/** * Taxonomy key. Must not exceed 32 characters and may only contain * lowercase alphanumeric characters, dashes, and underscores. See sanitize_key(). * * It's the `$taxonomy` parameter used in * `register_taxonomy( $taxonomy, $object_type, $args = array() )` * * @var string */

The unique identifier for the taxonomy, used in registration.

Example:

$taxonomyId = $taxonomyServiceProvider->id;

labels

/** * Taxonomy labels object. The first default value is for non-hierarchical taxonomies * (like tags) and the second one is for hierarchical taxonomies (like categories). * * @var string[] */

An array of labels used for the taxonomy in various contexts.

Example:

$labels = $taxonomyServiceProvider->labels;

metaBoxCb

/** * Provide a callback function for the meta box display. * If not set, defaults to post_categories_meta_box for hierarchical taxonomies and post_tags_meta_box for * non-hierarchical. If false, no meta box is shown. * * @var null */

Specifies a callback function for displaying the taxonomy’s meta box.

Example:

$metaBoxCallback = $taxonomyServiceProvider->metaBoxCb;

metaBoxSanitizeCb

/** * Callback function for sanitizing taxonomy data saved from a meta box. * If no callback is defined, an appropriate one is determined * based on the value of `$metaBoxCb`. * * @var null */

Defines a callback for sanitizing data saved from the taxonomy’s meta box.

Example:

$sanitizeCallback = $taxonomyServiceProvider->metaBoxSanitizeCb;

name

/** * Name for one object of this taxonomy. Default 'Tag'/'Category'. * * @var string */

The singular name for an object within this taxonomy.

Example:

$taxonomyName = $taxonomyServiceProvider->name;

objectType

/** * Object type or array of object types with which the taxonomy should be associated. * * It's the `$object_type` parameter used in * `register_taxonomy( $taxonomy, $object_type, $args = array() )` * * @var string */

Specifies the object type(s) associated with the taxonomy.

Example:

$objectType = $taxonomyServiceProvider->objectType;

plural

/** * General name for the taxonomy, usually plural. * The same as and overridden by `$tax->label`. Default 'Tags'/'Categories'. * * @var string */

The plural form of the taxonomy’s name.

Example:

$pluralName = $taxonomyServiceProvider->plural;

public

/** * If the taxonomy should be publicly queryable; //@TODO not implemented. * Defaults to true. * * @var bool */

Determines if the taxonomy can be publicly queried.

Example:

$isPublic = $taxonomyServiceProvider->public;

publiclyQueryable

/** * Whether the taxonomy is publicly queryable. * If not set, the default is inherited from `$public`. * * @var bool */

Indicates if the taxonomy is publicly queryable, inheriting from public if not explicitly set.

Example:

$isPubliclyQueryable = $taxonomyServiceProvider->publiclyQueryable;

queryVar

/** * Sets the query_var key for this taxonomy. Defaults to $taxonomy key * If false, a taxonomy cannot be loaded at ?{query_var}={term_slug} * If specified as a string, the query ?{query_var_string}={term_slug} will be valid. * * @var string */

Defines the query variable for the taxonomy, allowing it to be queried via URL parameters.

Example:

$queryVar = $taxonomyServiceProvider->queryVar;

restBase

/** * To change the base url of REST API route. Default is $taxonomy. * * @var string */

Specifies the base URL for the taxonomy’s REST API route.

Example:

$restBase = $taxonomyServiceProvider->restBase;

restControllerClass

/** * REST API Controller class name. Default is 'WP_REST_Terms_Controller'. * * @var string */

The class name of the REST API controller for the taxonomy.

Example:

$restController = $taxonomyServiceProvider->restControllerClass;

restNamespace

/** * To change the namespace of REST API route. Default is wp/v2. * * @var string */

Defines the namespace for the taxonomy’s REST API route.

Example:

$restNamespace = $taxonomyServiceProvider->restNamespace;

rewrite

/** * Triggers the handling of rewrites for this taxonomy. Defaults to true, using $taxonomy as slug. * To prevent rewrite, set to false. * To specify rewrite rules, an array can be passed with any of these keys: * * @type string $slug Customize the permastruct slug. Default `$taxonomy` key. * @type bool $with_front Should the permastruct be prepended with WP_Rewrite::$front. Default true. * @type bool $hierarchical Either hierarchical rewrite tag or not. Default false. * @type int $ep_mask Assign an endpoint mask. Default `EP_NONE`. * * @var array */

Controls the rewrite rules for the taxonomy, allowing customization of the URL structure.

Example:

$rewriteRules = $taxonomyServiceProvider->rewrite;

rewriteHierarchical

/** * Either hierarchical rewrite tag or not. Defaults to false. * * @var bool */

Indicates if the rewrite rules should be hierarchical.

Example:

$isRewriteHierarchical = $taxonomyServiceProvider->rewriteHierarchical;

showAdminColumn

/** * Whether to display a column for the taxonomy on its post type listing screens. * * @var bool */

Determines if a column for the taxonomy should be shown in the admin post type listings.

Example:

$showAdminColumn = $taxonomyServiceProvider->showAdminColumn;

showInMenu

/** * Whether to show the taxonomy in the admin menu. * If true, the taxonomy is shown as a submenu of the object type menu. * If false, no menu is shown. * show_ui must be true. * If not set, the default is inherited from show_ui. * * @var bool */

Specifies if the taxonomy should appear in the WordPress admin menu.

Example:

$showInMenu = $taxonomyServiceProvider->showInMenu;

showInNavMenus

/** * Makes this taxonomy available for selection in navigation menus. * If not set, the default is inherited from public. * * @var bool */

Determines if the taxonomy can be selected in navigation menus.

Example:

$showInNavMenus = $taxonomyServiceProvider->showInNavMenus;

showInQuickEdit

/** * Whether to show the taxonomy in the quick/bulk edit panel. * It not set, the default is inherited from show_ui. * * @var bool */

Indicates if the taxonomy should be available in the quick edit panel.

Example:

$showInQuickEdit = $taxonomyServiceProvider->showInQuickEdit;

showInRest

/** * Whether to include the taxonomy in the REST API. * Set this to true for the taxonomy to be available in the block editor. * * @var bool */

Specifies if the taxonomy should be included in the REST API.

Example:

$showInRest = $taxonomyServiceProvider->showInRest;

showTagcloud

/** * Whether to list the taxonomy in the Tag Cloud Widget. * If not set, the default is inherited from show_ui. * * @var bool */

Determines if the taxonomy should be listed in the Tag Cloud Widget.

Example:

$showTagcloud = $taxonomyServiceProvider->showTagcloud;

showTagCloud

/** * Whether to list the taxonomy in the Tag Cloud Widget controls. * If not set, the default is inherited from `$show_ui` (default true). * * @var bool */

Indicates if the taxonomy should appear in the Tag Cloud Widget controls.

Example:

$showTagCloud = $taxonomyServiceProvider->showTagCloud;

showUI

/** * Whether to generate a default UI for managing this taxonomy in the admin. * If not set, the default is inherited from public. * * @var bool */

Specifies if a default UI should be generated for managing the taxonomy.

Example:

$showUI = $taxonomyServiceProvider->showUI;

slug

/** * Customize the permastruct slug. Defaults to $taxonomy key * * @var string */

Allows customization of the taxonomy’s URL slug.

Example:

$slug = $taxonomyServiceProvider->slug;

sort

/** * Whether terms in this taxonomy should be sorted in the order they are * provided to `wp_set_object_terms()`. Default null which equates to false. * * @var bool */

Indicates if terms should be sorted in the order provided to wp_set_object_terms().

Example:

$sortTerms = $taxonomyServiceProvider->sort;

updateCountCallback

/** * Works much like a hook, in that it will be called when the count is updated. * Defaults to _update_post_term_count() for taxonomies attached to post types, which then confirms that the objects * are published before counting them. * Defaults to _update_generic_term_count() for taxonomies attached to other * object types, such as links. * * @var string */

Specifies a callback function that is triggered when the term count is updated.

Example:

$updateCountCallback = $taxonomyServiceProvider->updateCountCallback;

withFront

/** * Should the permastruct be prepended with WP_Rewrite::$front. Defaults to true. * * @var bool */

Determines if the permastruct should be prepended with WP_Rewrite::$front.

Example:

$withFront = $taxonomyServiceProvider->withFront;

Methods

Based on the provided class WordPressCustomTaxonomyTypeServiceProvider, here is the list of public methods in alphabetical order, formatted according to your specifications:

boot

/** * You may override this method in order to register your own actions and filters. */

Synopsis: public function boot()

This method is intended to be overridden to register custom actions and filters specific to the taxonomy. It provides a hook for developers to extend the functionality of the taxonomy service provider.

Example:

class MyTaxonomyServiceProvider extends WordPressCustomTaxonomyTypeServiceProvider { public function boot() { $this->plural = 'Categories'; } }
Last updated on