web-dev-qa-db-de.com

Holen Sie sich mehrere Term-IDs per Slug und schließen Sie sie dann in get_terms aus

Ich möchte mehrere Begriffe in get_terms ausschließen, aber der Parameter exclude akzeptiert nur Begriffs-IDs. Also muss ich die Term-IDs von seiner Schnecke bekommen.

Das habe ich bisher:

$pres = get_term_by('slug', 'president', $cat_type);
$vice = get_term_by('slug', 'vice-president', $cat_type);
$admin = get_term_by('slug', 'admin', $cat_type);
$rnd = get_term_by('slug', 'rnd', $cat_type);

$ID_pres = $pres->term_id;
$ID_vice = $vice->term_id;
$ID_admin = $admin->term_id;
$ID_rnd = $rnd->term_id;

$terminologies = get_terms( $cat_type, array(
                    'orderby'   => 'term_id',
                    'exclude'   => '???' <<<<
                ) );

Ich hatte das Gefühl, dass hier etwas wirklich falsch und überflüssig ist, aber ich bin nicht sicher, wie ich sie in ein Array einordnen soll, das im Parameter exclude verwendet werden kann. Irgendeine Hilfe?

3
deathlock

Sie können Begriffe aus mehreren Slugs mit dem Argument slug abrufen:

$exclude = get_terms ( 
    [ 
        'slug'     => [ 'president', 'vice-president', 'admin', 'rnd' ], 
        'taxonomy' => $cat_type,
        'fields'   => 'ids',
    ] 
);

wobei wir das Argument fields verwenden, um nur Term-IDs zurückzugeben.

3
birgire