kulturbanause Blog

Responsive Design, WordPress, Konzeption, HTML, CSS, JS & UX/UI …

WordPress Block Editor (Gutenberg) für Custom Post Types aktivieren

Seit WordPress 5.0 ist der Block Editor (Gutenberg) der Standard-Editor für Beiträge und Seiten in WordPress. Die Umstellung vom alten WYSIWYG-Editor (TinyMCE) erfolgte mit dem Update auf WordPress 5.0 für diese Beitrags-Typen automatisch. Selbst erstellte Beitrags-Typen (Custom Post Types) nutzen jedoch nicht automatisch den neuen Editor.

Workshops & Schulungen von kulturbanause

Intensive Trainings mit hohem Praxisbezug.

Online-Schulungen (remote per Video)

Inhouse-Schulungen

Block Editor für eigene Custom Post Types aktivieren

Über »register_post_type()« könnt ihr eure eigenen Custom Post Types anlegen. Möchtet ihr nun den Block Editor (Gutenberg) für diesen Beitrags-Typen verwenden, achtet darauf, dass ihr in den Argumenten »$args« die Angabe »show_in_rest« auf true setzt. Damit wird dieser Beitrags-Typ in der Rest-API von WordPress mit berücksichtigt, was ausschlaggebend dafür ist, dass der Block Editor arbeiten kann. Der Block Editor wird nun für diesen Beitrags-Typen verwendet. Wenn Gutenberg deaktiviert sein soll, setzt den Wert auf false.

function kb_custom_post_type() {
  ...

  $args = array(
    ...
    'show_in_rest' => true,
    ...
  );
  register_post_type( 'YOUR-CUSTOM-POST-TYPE', $args );
}
add_action( 'init', 'kb_custom_post_type', 0 );

Block Editor für Custom Post Types aus Plugins aktivieren

Viele WordPress-Plugins liefern eigene Custom Post Types, in denen ihr nicht über register_post_type() die Argumente verändern könnt, um die Update-Fähigkeit der Plugins nicht einzuschränken. Um auch für diese Beitrags-Typen den Block Editor zu aktivieren, könnt ihr den Filter »use_block_editor_for_post_type« verwenden. Das folgende Snippet könnt ihr einfach in die functions.php oder in ein seitenspezifisches Plugin schreiben und mit dem Namen eures Beitrags-Typen versehen. Im Beispiel aktivieren wir den Block Editor (Gutenberg) für die Produkte eines WooCommerce-Shops.

function kb_activate_block_editor($can_edit, $post_type){
  if($post_type == 'product'){
    $can_edit = true;
  }
  return $can_edit;
}
add_filter('use_block_editor_for_post_type', 'kb_activate_block_editor', 10, 2);

Jetzt bist du gefragt!

Hast du Anregungen, Ergänzungen, einen Fehler gefunden oder ist dieser Beitrag nicht mehr aktuell? Dann freuen wir uns auf deinen Kommentar.

Du kannst diesen Beitrag natürlich auch weiterempfehlen. Wir sind dir für jede Unterstützung dankbar!

Unterstützung bei WordPress-Projekten

Unsere WordPress Agentur ist auf die Entwicklung maßgeschneiderter WordPress-Themes und -Websites spezialisiert. Wenn du Unterstützung bei der Planung, Gestaltung und Entwicklung eines Projekts benötigst, helfen wir gerne weiter.
WordPress-Leistungsangebot →

Das könnte dich auch interessieren

3 Kommentare

  1. Drivingralle

    Verfasst am 27. Januar 2020 um 13:12 Uhr.

    Nicht alle CPTs sind für die Öffentlichkeit bestimmt sollen aber trotzdem mittels Gutenberg bearbeitet werden.

    Wenn der CPT also nur für Benutzer mit den Rechten zum bearbeiten in der REST-API verfügbar sein soll kann man dies über eine Bedingung beim Registrieren erreichen z.B.:
    ’show_in_rest‘ => current_user_can( ‚edit_posts‘ ),

    Wobei „edit_posts“ natürlich auf die eigenen Berechtigungen angepasst werden muss.

    Es grüßt
    derRALF

  2. Wolfgang

    Verfasst am 26. Februar 2020 um 17:33 Uhr.

    Hallo Robert,
    das hat bei mir leider nicht geklappt: Ich versuche es mit „el_events“ (Das ist der CPT „Event List“ von mibuthu.) und folgendem Code:
    add_action(‚pre_get_posts‘,’kb_add_post_types_to_loop‘);
    // Gutenberg um custom post type erweitern
    function kb_activate_block_editor($can_edit, $post_type){
    if($post_type == ‚el_events‘){
    $can_edit = true;
    }
    return $can_edit;
    }
    add_filter(‚use_block_editor_for_post_type‘, ‚kb_activate_block_editor‘, 10, 2);

    Kann es sein, dass das Verfahren nicht bei allen CPTs funktioniert?

    • Robert Menzel

      Verfasst am 27. Februar 2020 um 16:06 Uhr.

      Hallo Wolfgang,
      ich habe leider keine Erfahrungen mit dem »Event List«-Plugin und kann daher nicht einschätzen ob es mit dem Gutenberg kompatibel ist.
      Eventuell kann eine Veränderung der Priorität im Filter weiterhelfen: add_filter(‚use_block_editor_for_post_type‘, ‚kb_activate_block_editor‘, 999, 2);

      Viele Grüße
      Robert

Kommentar verfassen

Dieser Blog lebt vom Feedback der Besucher! Also los, mach mit!
Bitte habe Verständnis dafür, dass Kommentare die mit dem Inhalt dieses Beitrags nichts zu tun haben, gelöscht werden.