Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




get_term [ WordPress Function ]

get_term ( $term, $taxonomy, $output = OBJECT, $filter = 'raw' )
Parameters:
  • (int|object) $term If integer, will get from database. If object will apply filters and return $term.
  • (string) $taxonomy Taxonomy name that $term is part of.
  • (string) $output Constant OBJECT, ARRAY_A, or ARRAY_N
  • (string) $filter Optional, default is raw or no WordPress defined filter will applied.
Uses:
See:
Returns:
  • (mixed|null|WP_Error) Term Row from database. Will return null if $term is empty. If taxonomy does not exist then WP_Error will be returned.
Defined at:



Get all Term data from database by Term ID.

The usage of the get_term function is to apply filters to a term object. It is possible to get a term object from the database before applying the filters.

$term ID must be part of $taxonomy, to get from the database. Failure, might be able to be captured by the hooks. Failure would be the same value as $wpdb returns for the get_row method.

There are two hooks, one is specifically for each term, named 'get_term', and the second is for the taxonomy name, 'term_$taxonomy'. Both hooks gets the term object, and the taxonomy name as parameters. Both hooks are expected to return a Term object.

'get_term' hook - Takes two parameters the term Object and the taxonomy name. Must return term object. Used in get_term() as a catch-all filter for every $term.

'get_$taxonomy' hook - Takes two parameters the term Object and the taxonomy name. Must return term object. $taxonomy will be the taxonomy name, so for example, if 'category', it would be 'get_category' as the filter name. Useful for custom taxonomies or plugging into default taxonomies.

Source


<?php
function &get_term($term$taxonomy$output OBJECT$filter 'raw') {
    global 
$wpdb;
    
$null null;

    if ( empty(
$term) ) {
        
$error = new WP_Error('invalid_term'__('Empty Term'));
        return 
$error;
    }

    if ( ! 
taxonomy_exists($taxonomy) ) {
        
$error = new WP_Error('invalid_taxonomy'__('Invalid Taxonomy'));
        return 
$error;
    }

    if ( 
is_object($term) && empty($term->filter) ) {
        
wp_cache_add($term->term_id$term$taxonomy);
        
$_term $term;
    } else {
        if ( 
is_object($term) )
            
$term $term->term_id;
        if ( !
$term = (int) $term )
            return 
$null;
        if ( ! 
$_term wp_cache_get($term$taxonomy) ) {
            
$_term $wpdb->get_row$wpdb->prepare"SELECT t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = %s AND t.term_id = %d LIMIT 1"$taxonomy$term) );
            if ( ! 
$_term )
                return 
$null;
            
wp_cache_add($term$_term$taxonomy);
        }
    }

    
$_term apply_filters('get_term'$_term$taxonomy);
    
$_term apply_filters("get_$taxonomy"$_term$taxonomy);
    
$_term sanitize_term($_term$taxonomy$filter);

    if ( 
$output == OBJECT ) {
        return 
$_term;
    } elseif ( 
$output == ARRAY_A ) {
        
$__term get_object_vars($_term);
        return 
$__term;
    } elseif ( 
$output == ARRAY_N ) {
        
$__term array_values(get_object_vars($_term));
        return 
$__term;
    } else {
        return 
$_term;
    }
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics