Benutzerdefinierte Taxonomie wird im Post-Gutenberg-Editor nicht angezeigt

Lesezeit: 4 Minuten

Ich habe eine benutzerdefinierte Taxonomie in WordPress registriert und kann nicht herausfinden, warum sie nicht in Standard-Wordpress-Beiträgen angezeigt wird, da Gutenberg eingeführt wurde. Damit meine ich, dass es beim Hinzufügen oder Bearbeiten eines Beitrags nicht in der Seitenleiste des Dokuments angezeigt wird. Dasselbe gilt für „Kategorien“ und „Tags“, die offensichtlich Standardtaxonomien sind.

Ich habe sichergestellt, dass ‘show_in_rest’ => true vorhanden ist, ist die Taxonomie-Registrierung, aber es hat keinen Unterschied gemacht.

Es scheint, dass sie sich teilweise registrieren, da sie unter „Beiträge“ im Hauptmenü auf der linken Seite angezeigt werden, was darauf hindeutet, dass es sich um Gutenberg handeln könnte?

Irgendwelche Ideen?

// Register taxonomy
add_action( 'init', 'register_taxonomy_articles_element' );

function register_taxonomy_articles_element() {

    $labels = array( 
        'name' => _x( 'Elements', 'articles_element' ),
        'singular_name' => _x( 'Element', 'articles_element' ),
        'search_items' => _x( 'Search Elements', 'articles_element' ),
        'popular_items' => _x( 'Popular Elements', 'articles_element' ),
        'all_items' => _x( 'All Elements', 'articles_element' ),
        'parent_item' => _x( 'Parent Element', 'articles_element' ),
        'parent_item_colon' => _x( 'Parent Element:', 'articles_element' ),
        'edit_item' => _x( 'Edit Element', 'articles_element' ),
        'update_item' => _x( 'Update Element', 'articles_element' ),
        'add_new_item' => _x( 'Add New Element', 'articles_element' ),
        'not_found' => _x( 'No Elements found', 'articles_element' ),
        'new_item_element' => _x( 'New Element', 'articles_element' ),
        'separate_items_with_commas' => _x( 'Separate Elements with commas', 'articles_element' ),
        'add_or_remove_items' => _x( 'Add or remove elements', 'articles_element' ),
        'choose_from_most_used' => _x( 'Choose from the most used elements', 'articles_element' ),
        'menu_name' => _x( 'Elements', 'articles_element' )
    );

    $args = array( 
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_in_nav_menus' => true,
        'show_in_rest' => true,
        'show_ui' => true,
        'show_tagcloud' => true,
        'hierarchical' => true,
        'rewrite' => true,
        'query_var' => true
    );

    register_taxonomy( 'element', array('post'), $args );
}

Wenn jemand immer noch ein Problem mit der Anzeige der Taxonomie oder des Gutenberg-Editors hat, fügen Sie hinzu 'show_in_rest' => true, in sowohl benutzerdefinierte Beitragstypen als auch Taxonomie Argumente.

Da Gutenberg auf der Grundlage der REST-API arbeitet, müssen Sie die Unterstützung für die REST-API für alle benutzerdefinierten Beitragstypen und Taxonomien aktivieren. Sie müssen einen zusätzlichen Schlüssel hinzufügen show_in_rest = true zu deinem $args Reihe. Ihr vollständiger Code sollte folgendermaßen aussehen:

$args = array( 
    'labels' => $labels,
    'public' => true,
    'show_in_rest' => true, // add support for Gutenberg editor
    'publicly_queryable' => true,
    'show_in_nav_menus' => true,
    'show_in_rest' => true,
    'show_ui' => true,
    'show_tagcloud' => true,
    'hierarchical' => true,
    'rewrite' => true,
    'query_var' => true
);

  • Hey @artem, danke dafür, aber wie du meiner Frage und meinem Code entnehmen kannst, ist dies bereits vorhanden?

    – Kerker_140

    1. Mai 2019 um 13:15 Uhr

  • Danke für diese Lösung, war mir nicht bewusst 'show_in_rest' => true,

    – Marko Bajlovic

    15. August 2019 um 15:53 ​​Uhr

Es scheint, dass nach vielen Nachforschungen das Problem nicht mit dem obigen Code zusammenhängt (was korrekt ist). Das Problem betraf eine zweite benutzerdefinierte Taxonomie mit dem Namen „Typ“. Wie sich herausstellt, enthält WordPress eine Reihe von ‘reservierte Bedingungen‘, von denen einer ‘Typ’ ist. Sobald diese Taxonomie umbenannt wurde, funktionieren beide Taxonomien korrekt, auch mit Gutenberg.

  • ‘show_in_rest’ => wahrer Parameter, der in beiden Argumenten von register_post_type und register_taxonomy hinzugefügt wurde, und der register_taxonomy-Slug ist nicht als reservierte Bedingungen von WordPress. Aber die Taxonomie ist in der Post-Bearbeitung nicht sichtbar. Kategorie-Metabox zeigt nur die Standardkategorie darauf an. Kannst du mir bitte helfen ?

    – Säume

    21. Oktober 2021 um 8:35 Uhr

Das Problem, mit dem Sie konfrontiert sind, könnte gelöst werden, indem Sie Ihre ändern 'rewrite' Attribut in der Liste von true hinein array( 'slug' => 'your-taxonomy-slug' ) also das neue 'rewrite' Sollte aussehen, wie 'rewrite' => array( 'slug' => 'your-taxonomy-slug' ) und Sie können stattdessen jede Schnecke setzen your-taxonomy-slug.

Der Grund, warum dies funktionieren sollte, verstehe ich nicht ganz, aber es sieht so aus, als ob der Blockeditor die Rest-API verwendet, die aus irgendeinem Grund nicht mit der Taxonomie umgehen kann, ohne den Slug neu zu schreiben! Irgendetwas ist dort seltsam, weil alle anderen Funktionen gut funktionieren, es befindet sich nur aus irgendeinem Grund im Gutenberg.

Wenn dies nicht funktioniert hat, könnte es ein widersprüchliches Thema oder Plugin sein … versuchen Sie, Dinge zu deaktivieren, um zu sehen, was den Konflikt verursacht.

1395310cookie-checkBenutzerdefinierte Taxonomie wird im Post-Gutenberg-Editor nicht angezeigt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy