it-swarm.com.de

Wie kann ich ein Taxonomie-Archiv im Frontend komplett deaktivieren?

Ich habe drei benutzerdefinierte Taxonomien registriert. Alle drei benutzerdefinierten Taxonomien sind meinem benutzerdefinierten Beitragstyp zugeordnet.

Es gibt nur eine Taxonomie von den drei registrierten, auf die ich so sehr am Frontend der Website nicht zugreifen möchte.

Was ist die beste Lösung dafür?

Ich habe bei der Registrierung der Taxonomie mit der Angabe verschiedener Argumente herumgespielt, aber nichts scheint zu funktionieren.

$args['show_in_nav_menus'] = false;
$args['query_var'] = false;
$args['public'] = false;

Sollte ich mich einfach in template_redirect einhängen und eine is_tax()-Prüfung durchführen? Wenn es sich um die Taxonomie handelt, die deaktiviert werden soll, leiten Sie einfach zum Archiv für benutzerdefinierte Beitragstypen weiter.

1
Michael Ecklund

die Antwort von s_ha_dum hat bei mir nicht funktioniert, aber das hat geklappt:

/**
 * Completely disable term archives for this taxonomy.
 * @param  string $taxonomy WordPress taxnomy name
 */
function kill_taxonomy_archive($taxonomy){

    add_action('pre_get_posts', function($qry) {

            if (is_admin()) return;

            if (is_tax($taxonomy)){
                $qry->set_404();
            }

        }

    );

}
10
Chris Herbert