Timber\TermGetter::get_terms PHP Метод

get_terms() публичный статический Метод

public static get_terms ( string | array $args = null, array $maybe_args = [], string $TermClass = '\Timber\Term' ) : mixed
$args string | array
$maybe_args array
$TermClass string
Результат mixed
    public static function get_terms($args = null, $maybe_args = array(), $TermClass = '\\Timber\\Term')
    {
        if (is_string($maybe_args) && !strstr($maybe_args, '=')) {
            //the user is sending the $TermClass in the second argument
            $TermClass = $maybe_args;
        }
        if (is_string($maybe_args) && strstr($maybe_args, '=')) {
            parse_str($maybe_args, $maybe_args);
        }
        if (is_string($args) && strstr($args, '=')) {
            //a string and a query string!
            $parsed = self::get_term_query_from_query_string($args);
            if (is_array($maybe_args)) {
                $parsed->args = array_merge($parsed->args, $maybe_args);
            }
            return self::handle_term_query($parsed->taxonomies, $parsed->args, $TermClass);
        } else {
            if (is_string($args)) {
                //its just a string with a single taxonomy
                $parsed = self::get_term_query_from_string($args);
                if (is_array($maybe_args)) {
                    $parsed->args = array_merge($parsed->args, $maybe_args);
                }
                return self::handle_term_query($parsed->taxonomies, $parsed->args, $TermClass);
            } else {
                if (is_array($args) && Helper::is_array_assoc($args)) {
                    //its an associative array, like a good ole query
                    $parsed = self::get_term_query_from_assoc_array($args);
                    return self::handle_term_query($parsed->taxonomies, $parsed->args, $TermClass);
                } else {
                    if (is_array($args)) {
                        //its just an array of strings or IDs (hopefully)
                        $parsed = self::get_term_query_from_array($args);
                        if (is_array($maybe_args)) {
                            $parsed->args = array_merge($parsed->args, $maybe_args);
                        }
                        return self::handle_term_query($parsed->taxonomies, $parsed->args, $TermClass);
                    } else {
                        if (is_null($args)) {
                            return self::handle_term_query(get_taxonomies(), array(), $TermClass);
                        }
                    }
                }
            }
        }
        return null;
    }

Usage Example

Пример #1
0
 /**
  * Get terms.
  * @api
  * @param string|array $args
  * @param array   $maybe_args
  * @param string  $TermClass
  * @return mixed
  */
 public static function get_terms($args = null, $maybe_args = array(), $TermClass = 'Timber\\Term')
 {
     return TermGetter::get_terms($args, $maybe_args, $TermClass);
 }
All Usage Examples Of Timber\TermGetter::get_terms