本文整理汇总了PHP中EM_Object::taxonomies_array方法的典型用法代码示例。如果您正苦于以下问题:PHP EM_Object::taxonomies_array方法的具体用法?PHP EM_Object::taxonomies_array怎么用?PHP EM_Object::taxonomies_array使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EM_Object
的用法示例。
在下文中一共展示了EM_Object::taxonomies_array方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_taxonomies
public static function get_taxonomies()
{
if (empty(self::$taxonomies_array)) {
//default taxonomies
$taxonomies_array = array('category' => array('name' => EM_TAXONOMY_CATEGORY, 'ms' => 'event-category', 'context' => array()), 'tag' => array('name' => EM_TAXONOMY_TAG, 'context' => array()));
//get additional taxonomies associated with locations and events and set context for default taxonomies
foreach (get_taxonomies(array(), 'objects') as $tax_name => $tax) {
$event_tax = in_array(EM_POST_TYPE_EVENT, $tax->object_type);
$loc_tax = in_array(EM_POST_TYPE_LOCATION, $tax->object_type);
if ($tax_name == EM_TAXONOMY_CATEGORY || $tax_name == EM_TAXONOMY_TAG) {
$tax_name = $tax_name == EM_TAXONOMY_CATEGORY ? 'category' : 'tag';
if ($event_tax) {
$taxonomies_array[$tax_name]['context'][] = EM_POST_TYPE_EVENT;
}
if ($loc_tax) {
$taxonomies_array[$tax_name]['context'][] = EM_POST_TYPE_LOCATION;
}
} else {
$tax_name = str_replace('-', '_', $tax_name);
$prefix = !array_key_exists($tax_name, $taxonomies_array) ? '' : 'post_';
if (is_array($tax->object_type)) {
if ($event_tax || $loc_tax) {
$taxonomies_array[$prefix . $tax_name] = array('name' => $tax_name, 'context' => array());
}
if ($event_tax) {
$taxonomies_array[$prefix . $tax_name]['context'][] = EM_POST_TYPE_EVENT;
}
if ($loc_tax) {
$taxonomies_array[$prefix . $tax_name]['context'][] = EM_POST_TYPE_LOCATION;
}
}
}
}
//users can add even more to this if needed, e.g. MS compatability
self::$taxonomies_array = apply_filters('em_object_taxonomies', $taxonomies_array);
}
return self::$taxonomies_array;
}