version 4.13.0
This commit is contained in:
95
core/components/post/Taxonomy.php
Normal file
95
core/components/post/Taxonomy.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
|
||||
abstract class ET_Core_Post_Taxonomy extends ET_Core_Post_Object {
|
||||
|
||||
/**
|
||||
* The `$args` array used when registering this taxonomy.
|
||||
*
|
||||
* @since 3.0.99
|
||||
* @var array
|
||||
*/
|
||||
protected $_args;
|
||||
|
||||
/**
|
||||
* The WP Taxonomy object for this instance.
|
||||
*
|
||||
* @since 3.0.99
|
||||
* @var WP_Taxonomy
|
||||
*/
|
||||
protected $_wp_object;
|
||||
|
||||
/**
|
||||
* Taxonomy key.
|
||||
*
|
||||
* @since 3.0.99
|
||||
* @var string
|
||||
*/
|
||||
public $name;
|
||||
|
||||
/**
|
||||
* The post types to which this taxonomy applies.
|
||||
*
|
||||
* @since 3.0.99
|
||||
* @var array
|
||||
*/
|
||||
public $post_types;
|
||||
|
||||
/**
|
||||
* This taxonomy's terms.
|
||||
*
|
||||
* @var WP_Term[]
|
||||
*/
|
||||
public $terms;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public $wp_type = 'taxonomy';
|
||||
|
||||
/**
|
||||
* ET_Core_Post_Taxonomy constructor.
|
||||
*/
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
|
||||
$name = $this->name;
|
||||
|
||||
/**
|
||||
* Filters the supported post types for a custom taxonomy. The dynamic portion of the
|
||||
* filter name, $name, refers to the name of the custom taxonomy.
|
||||
*
|
||||
* @since 3.0.99
|
||||
*
|
||||
* @param array
|
||||
*/
|
||||
$this->post_types = apply_filters( "et_core_taxonomy_{$name}_post_types", $this->post_types );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the terms for this taxonomy.
|
||||
*
|
||||
* @return array|int|WP_Error|WP_Term[]
|
||||
*/
|
||||
public function get() {
|
||||
if ( is_null( $this->terms ) ) {
|
||||
$this->terms = get_terms( $this->name, array( 'hide_empty' => false ) );
|
||||
}
|
||||
|
||||
return $this->terms;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a derived class instance.
|
||||
*
|
||||
* @since 3.0.99
|
||||
*
|
||||
* @param string $type See {@see self::$wp_type} for accepted values. Default is 'taxonomy'.
|
||||
* @param string $name The name/slug of the derived object. Default is an empty string.
|
||||
*
|
||||
* @return self|null
|
||||
*/
|
||||
public static function instance( $type = 'taxonomy', $name = '' ) {
|
||||
return parent::instance( $type, $name );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user