Switch language

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




get_objects_in_term [ WordPress Function ]

get_objects_in_term ( $term_ids, $taxonomies, $args = array() )
Parameters:
  • (int|array) $term_ids Term id or array of term ids of terms that will be used
  • (string|array) $taxonomies String of taxonomy name or Array of string values of taxonomy names
  • (array|string) $args Change the order of the object_ids, either ASC or DESC
Uses:
Returns:
  • (WP_Error|array) If the taxonomy does not exist, then WP_Error will be returned. On success the array can be empty meaning that there are no $object_ids found or it will return the $object_ids found.
Defined at:



Retrieve object_ids of valid taxonomy and term.

The strings of $taxonomies must exist before this function will continue. On failure of finding a valid taxonomy, it will return an WP_Error class, kind of like Exceptions in PHP 5, except you can't catch them. Even so, you can still test for the WP_Error class and get the error message.

The $terms aren't checked the same as $taxonomies, but still need to exist for $object_ids to be returned.

It is possible to change the order that object_ids is returned by either using PHP sort family functions or using the database by using $args with either ASC or DESC array. The value should be in the key named 'order'.

Source


<?php
function get_objects_in_term$term_ids$taxonomies$args = array() ) {
    global 
$wpdb;

    if ( ! 
is_array$term_ids ) )
        
$term_ids = array( $term_ids );

    if ( ! 
is_array$taxonomies ) )
        
$taxonomies = array( $taxonomies );

    foreach ( (array) 
$taxonomies as $taxonomy ) {
        if ( ! 
taxonomy_exists$taxonomy ) )
            return new 
WP_Error'invalid_taxonomy'__'Invalid Taxonomy' ) );
    }

    
$defaults = array( 'order' => 'ASC' );
    
$args wp_parse_args$args$defaults );
    
extract$argsEXTR_SKIP );

    
$order = ( 'desc' == strtolower$order ) ) ? 'DESC' 'ASC';

    
$term_ids array_map('intval'$term_ids );

    
$taxonomies "'" implode"', '"$taxonomies ) . "'";
    
$term_ids "'" implode"', '"$term_ids ) . "'";

    
$object_ids $wpdb->get_col("SELECT tr.object_id FROM $wpdb->term_relationships AS tr INNER JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ($taxonomies) AND tt.term_id IN ($term_ids) ORDER BY tr.object_id $order");

    if ( ! 
$object_ids )
        return array();

    return 
$object_ids;
}
?>

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