web-dev-qa-db-de.com

get_terms mit mehr als x post count

Gibt es ein Argument für get_terms, mit dem ich Begriffe abrufen kann, zu denen nur mehr als zwei Beiträge gehören?
Ich habe eine Seite mit Begriffen, auf der alle meine Begriffe für "Künstler" aufgelistet sind. Die Seite ist riesig, aber viele dieser Begriffe haben nur einen Beitrag, daher möchte ich nur wichtige Begriffe anzeigen.

2
Imran

Geben:

$terms = get_terms("my_taxonomy");
$count = count($terms);
if ( $count > 0 ){
    echo "<ul>";
    foreach ( $terms as $term ) {
        if ($term->count > 2) {
            echo "<li>" . $term->name . "</li>";
        }
    }
    echo "</ul>";
}

ein Schuss. Es werden alle Begriffe erfasst und anschließend geprüft, ob der $term->count größer als 2 ist. Wenn ja, drucken Sie diese Begriffe aus.

2
Zach

Dies ist im Grunde dasselbe wie @Zach, das bereits hinzugefügt wurde, aber auf eine intelligentere/unlesbarere Weise :)

$taxons = get_terms(
     'some_taxonomy'
    ,array(
         'hide_empty' => true // is the default
     )
);
$count = count( $taxons );
$stack = array()
if ( 0 < $count)
{
    // Catch all terms that have a count of "1"
    // As we already have excluded all with 
    // a zero count are already excluded
    $to_exclude = wp_list_filter(
         $taxons
        ,array( 'count' => 1 )
        ,'AND'
    );

    // fill our stack by filtering/diffing our 1-post taxons out
    $stack = array_diff( (array) $taxons, (array) $to_exclude )
}

echo '<pre>'.var_export( $stack, true ).'</pre>';
2
kaiser