it-swarm.com.de

Wie werden nicht hierarchische Taxonomien als Begriffe mit Kontrollkästchen angezeigt?

Ich möchte, dass eine nicht hierarchische benutzerdefinierte Taxonomie im Administratorbildschirm zum Hinzufügen/Bearbeiten von Beiträgen für einen benutzerdefinierten Beitragstyp angezeigt wird. Wenn die benutzerdefinierte Taxonomie nicht hierarchisch ist, ähnelt das angezeigte Meta-Feld offensichtlich den Tags - es ist ein Textfeld mit automatischem Vorschlag.

Ich bin jedoch mehr daran interessiert, eine flache, nicht hierarchische Taxonomiedarstellung als Liste von Checkbox-Begriffen zu haben. Im Wesentlichen möchte ich, dass die Funktionalität mit der von Kategorien identisch ist, mit der Ausnahme, dass untergeordnete Begriffe nicht hinzugefügt werden konnten.

Dies ist sicherlich etwas, was andere Entwickler getan haben, aber die normalen Google-Suchanfragen haben mir nicht viel gebracht. Anscheinend das war das Standardverhalten als benutzerdefinierte Taxonomien ursprünglich in Version 2.8 eingeführt wurden.

Example of non-hierarchical taxonomy with checkboxes

Ich bin wirklich nicht auf der Suche nach einer Plugin-Lösung, aber Codebeispiele von Plugins wären in Ordnung. Bei der Entwicklung von Websites für Kunden ist es häufig von Vorteil, die Liste der vordefinierten Begriffe für einen bestimmten Beitragstyp anzeigen zu lassen. Dem Kunden sollte gestattet sein, zusätzliche Bedingungen hinzuzufügen, nur keine zusätzlichen untergeordneten Bedingungen.

5
Philip Downer

Ich bin mir nicht sicher, ob Sie bereits eine Lösung dafür gefunden haben, aber als ich gestern nach einer ähnlichen gesucht habe, fand ich dieses Tutorial auf WPtuts sehr hilfreich. Es werden Optionsfelder verwendet, aber Sie können es leicht ändern, damit es auch mit Kontrollkästchen funktioniert. http://wp.tutsplus.com/tutorials/creative-coding/how-to-use-radio-buttons-with-taxonomies/

3
Alex Hommel

Ich habe die Lösung (basierend auf dem obigen tutsplus-Tutorial-Link), die sich mit actual Checkboxes befasst, hier funktioniert sie: http://wordpress.org/support/topic/display-tag-admin-box- like-categories-without-hierarchy ignoriert den "am häufigsten verwendeten" Tab der Metabox, den der Tutsplus-Link anspricht, aber ich persönlich halte es einfach.

4
Chrisdigital

Verzeihen Sie mein Französisch, aber warum nicht das eingebaute hierarchische = true verwenden und danach alle übergeordneten Dropboxen mit admin css ausblenden?

2
jam

verwende die Hierarchie und verstecke die Auswahl der Eltern wie folgt:

function hide_taxonomy_parent( $slug ) {
    add_action( 'admin_head', function () use ( $slug ) {
        echo "<style>
            .taxonomy-{$slug} .term-parent-wrap,
            [for='new{$slug}_parent'],
            #new{$slug}_parent {
                display: none !important;
                visibility: hidden !important;
            }
        </style>";
    } );
}

hide_taxonomy_parent( 'brand' );
1
Maxwell s.c

Ich würde das tun:

$add_action('add_meta_boxes_my_posttype', 'my_add_meta_boxes');

function my_add_meta_boxes ($post) {

    $taxoms = array('my_taxonomy', 'my_second_taxonomy');

    foreach ( get_object_taxonomies( $post ) as $tax_name ) {
        if( !in_array($tax_name, $taxoms) ) continue;

        $taxonomy = get_taxonomy($tax_name);
        if ( ! $taxonomy->show_ui )
            continue;

        $label = $taxonomy->labels->name;

        if ( !is_taxonomy_hierarchical($tax_name) ) {
            add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
            remove_meta_box('tagsdiv-' . $tax_name, null, 'side');
        }
    }
}

Danach können Sie das übergeordnete Auswahlfeld des Formulars ausblenden

1
Laurent