<?php
#[AllowDynamicProperties]
final class WP_Term {
/**
* Term ID.
*
* @since 4.4.0
* @var int
*/
public $term_id;
/**
* The term's name.
*
* @since 4.4.0
* @var string
*/
public $name = '';
/**
* The term's slug.
*
* @since 4.4.0
* @var string
*/
public $slug = '';
/**
* The term's term_group.
*
* @since 4.4.0
* @var int
*/
public $term_group = '';
/**
* Term Taxonomy ID.
*
* @since 4.4.0
* @var int
*/
public $term_taxonomy_id = 0;
/**
* The term's taxonomy name.
*
* @since 4.4.0
* @var string
*/
public $taxonomy = '';
/**
* The term's description.
*
* @since 4.4.0
* @var string
*/
public $description = '';
/**
* ID of a term's parent term.
*
* @since 4.4.0
* @var int
*/
public $parent = 0;
/**
* Cached object count for this term.
*
* @since 4.4.0
* @var int
*/
public $count = 0;
/**
* Stores the term object's sanitization level.
*
* Does not correspond to a database field.
*
* @since 4.4.0
* @var string
*/
public $filter = 'raw';
/**
* Constructor.
*
* @since 4.4.0
*
* @param WP_Term|object $term Term object.
*/
public function __construct( $term ) {
foreach ( get_object_vars( $term ) as $key => $value ) {
$this->$key = $value;
}
}
/**
* Sanitizes term fields, according to the filter type provided.
*
* @since 4.4.0
*
* @param string $filter Filter context. Accepts 'edit', 'db', 'display', 'attribute', 'js', 'rss', or 'raw'.
*/
public function filter( $filter ) {
sanitize_term( $this, $this->taxonomy, $filter );
}
/**
* Converts an object to array.
*
* @since 4.4.0
*
* @return array Object as array.
*/
public function to_array() {
return get_object_vars( $this );
}
/**
* Getter.
*
* @since 4.4.0
*
* @param string $key Property to get.
* @return mixed Property value.
*/
public function __get( $key ) {
switch ( $key ) {
case 'data':
$data = new stdClass();
$columns = array( 'term_id', 'name', 'slug', 'term_group', 'term_taxonomy_id', 'taxonomy', 'description', 'parent', 'count' );
foreach ( $columns as $column ) {
$data->{$column} = isset( $this->{$column} ) ? $this->{$column} : null;
}
return $data;
// return sanitize_term( $data, $data->taxonomy, 'raw' );
}
}
}
$data = (object) array(
'term_id' => 1,
'name' => 'Uncategorized',
'slug' => 'uncategorized',
'term_group' => 0,
'term_taxonomy_id' => 1,
'taxonomy' => 'category',
'description' => '',
'parent' => 1,
'count' => 1,
);
$term = new WP_Term( $data );
echo '$term->data ...' . "\n\n";
var_dump( $term->data );
echo "\n\n" . '(array) $term->data ...' . "\n\n";
var_dump( (array) $term->data );
echo "\n\n" . '$term->to_array() ...' . "\n\n";
var_dump( $term->to_array() );
- Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.26, 8.3.0 - 8.3.14, 8.4.1 - 8.4.2
- $term->data ...
object(stdClass)#3 (9) {
["term_id"]=>
int(1)
["name"]=>
string(13) "Uncategorized"
["slug"]=>
string(13) "uncategorized"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(1)
["taxonomy"]=>
string(8) "category"
["description"]=>
string(0) ""
["parent"]=>
int(1)
["count"]=>
int(1)
}
(array) $term->data ...
array(9) {
["term_id"]=>
int(1)
["name"]=>
string(13) "Uncategorized"
["slug"]=>
string(13) "uncategorized"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(1)
["taxonomy"]=>
string(8) "category"
["description"]=>
string(0) ""
["parent"]=>
int(1)
["count"]=>
int(1)
}
$term->to_array() ...
array(10) {
["term_id"]=>
int(1)
["name"]=>
string(13) "Uncategorized"
["slug"]=>
string(13) "uncategorized"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(1)
["taxonomy"]=>
string(8) "category"
["description"]=>
string(0) ""
["parent"]=>
int(1)
["count"]=>
int(1)
["filter"]=>
string(3) "raw"
}
- Output for 4.4.2 - 4.4.9
- Parse error: syntax error, unexpected T_CLASS in /in/AQDU3 on line 4
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
- Parse error: parse error, unexpected T_CLASS in /in/AQDU3 on line 4
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/AQDU3 on line 4
Process exited with code 255.
preferences:
82.56 ms | 410 KiB | 5 Q