CPTP_Util::get_taxonomy_parents PHP Method

get_taxonomy_parents() public static method

Get Custom Taxonomies parents.
Deprecation:
public static get_taxonomy_parents ( integer | WP_Term | object $term, string $taxonomy = 'category', boolean $link = false, string $separator = '/', boolean $nicename = false, array $visited = [] ) : string
$term integer | WP_Term | object
$taxonomy string
$link boolean
$separator string
$nicename boolean
$visited array
return string
    public static function get_taxonomy_parents($term, $taxonomy = 'category', $link = false, $separator = '/', $nicename = false, $visited = array())
    {
        $chain = '';
        $parent = get_term($term, $taxonomy);
        if (is_wp_error($parent)) {
            return $parent;
        }
        if ($nicename) {
            $name = $parent->slug;
        } else {
            $name = $parent->name;
        }
        if ($parent->parent && $parent->parent != $parent->term_id && !in_array($parent->parent, $visited)) {
            $visited[] = $parent->parent;
            $chain .= CPTP_Util::get_taxonomy_parents($parent->parent, $taxonomy, $link, $separator, $nicename, $visited);
        }
        if ($link) {
            $chain .= '<a href="' . get_term_link($parent->term_id, $taxonomy) . '" title="' . esc_attr(sprintf(__('View all posts in %s'), $parent->name)) . '">' . esc_html($name) . '</a>' . esc_html($separator);
        } else {
            $chain .= $name . $separator;
        }
        return $chain;
    }

Usage Example

示例#1
0
 /**
  *
  * Get Custom Taxonomies parents.
  * @version 1.0
  *
  */
 public static function get_taxonomy_parents($id, $taxonomy = 'category', $link = false, $separator = '/', $nicename = false, $visited = array())
 {
     $chain = '';
     $parent = get_term($id, $taxonomy);
     if (is_wp_error($parent)) {
         return $parent;
     }
     if ($nicename) {
         $name = $parent->slug;
     } else {
         $name = $parent->name;
     }
     if ($parent->parent && $parent->parent != $parent->term_id && !in_array($parent->parent, $visited)) {
         $visited[] = $parent->parent;
         $chain .= CPTP_Util::get_taxonomy_parents($parent->parent, $taxonomy, $link, $separator, $nicename, $visited);
     }
     if ($link) {
         $chain .= '<a href="' . get_term_link($parent->term_id, $taxonomy) . '" title="' . esc_attr(sprintf(__('View all posts in %s'), $parent->name)) . '">' . esc_html($name) . '</a>' . esc_html($separator);
     } else {
         $chain .= $name . $separator;
     }
     return $chain;
 }
All Usage Examples Of CPTP_Util::get_taxonomy_parents