<?php
/**
* Class Types_Taxonomy
*
* FIXME please document this!
*/
class Types_Taxonomy {
protected $wp_taxonomy;
protected $name;
public function __construct( $taxonomy ) {
if( is_object( $taxonomy ) && isset( $taxonomy->name ) ) {
$this->wp_taxonomy = $taxonomy;
$this->name = $taxonomy->name;
} else {
$this->name = $taxonomy;
$registered = get_post_type_object( $taxonomy );
if( $registered )
$this->wp_taxonomy = $registered;
}
}
public function __isset( $property ) {
if( $this->wp_taxonomy === null )
return false;
if( ! property_exists( $this->wp_taxonomy, 'labels' ) )
return false;
if( ! property_exists( $this->wp_taxonomy->labels, $property ) )
return false;
return true;
}
public function __get( $property ) {
if( ! $this->__isset( $property ) )
return false;
return $this->wp_taxonomy->labels->$property;
}
public function get_name() {
return $this->name;
}
/**
* Get the backend edit link.
*
* @return string
* @since 2.1
*/
public function get_edit_link() {
return admin_url() . 'admin.php?page=wpcf-edit-tax&wpcf-tax=' . $this->get_name();
}
}