Inhalt des Gutenberg-Editors in JavaScript (WordPress)

Lesezeit: 2 Minuten
Benutzeravatar von Shramee
Shramee

In TMCE-Tagen konnten wir problemlos Editor-Inhalte abrufen editor.getContent(). Im neuen Gutenberg-Editor kann ich jedoch keine Methode dafür finden.

Ich brauche alle Editor-Inhalte als HTML (so wie sie in der Datenbank gespeichert werden).

ich fand wp.block.serialize() Methode, die vielversprechend klingt. Aber scheint Blöcke zu brauchen (als Parameter). Ich stecke also irgendwie fest.



Ab Version 3.1. von Gutenberg, versuchen Sie dies:

um den einfachen Blockinhalt zu erhalten:

var originalContent = wp.data.select( "core/editor" ).getCurrentPost().content;
var editedContent = wp.data.select( "core/editor" ).getEditedPostContent();

um den Beitrag zu rendern (in Blöcke umzuwandeln):

wp.blocks.parse( editedContent );


Vielleicht möchten Sie die erkunden window._wpGutenbergPost.content das hat sowohl a raw und rendered Inhalt. Dies ist im Moment. Die Dinge werden sich wahrscheinlich ändern 🙂


  • Danke Andrea, aber das scheint in der Datenbank gespeicherte Inhalte zurückzugeben, nicht das, was der Benutzer im Editor bearbeitet hat …
    – schramee
    11. Januar 2018 um 13:11 Uhr
  • Das scheint veraltet zu sein. Siehe meine Antwort unten.
    – Fließen
    25. Juni 2018 um 12:10 Uhr

Sie können Selektoren verwenden, die es uns ermöglichen, Daten abzurufen und auf ähnliche Weise. Um beispielsweise den Titel des in Gutenberg bearbeiteten Beitrags zu aktualisieren, können Sie Folgendes tun:

wp.data.dispatch( 'core/editor' ).editPost( { title: 'New Title' } );

Sie können die Aktionsdatei hier überprüfen https://github.com/WordPress/gutenberg/blob/v2.9.2/editor/store/actions.js um die vollständige Liste der vom Core/Editor-Namespace definierten Aktionen anzuzeigen.

Mehr sehen: https://riad.blog/2018/06/07/effizientes-client-data-management-for-wordpress-plugins/


  • Wie bearbeite ich den Inhalt? Ich habe wp.data.dispatch( ‘core/editor’ ).editPost( { content: ‘\n

    I love you Daddy dddhhhhh.

    \n‘ } ); aber es aktualisiert den Code im HTML-Editor und Blöcke aktualisiert seinen Inhalt nicht
    – Atef
    8. September 2018 um 22:55 Uhr

Benutzeravatar von ant-C
Ameisen-C

Ich habe ein ähnliches Problem, kann aber nichts dazu sagen. Der bereitgestellte Antwortfluss, der den Beitragstitel festlegt, aber ab 4.5.1 den Inhalt nicht verarbeitet.

Um den Beitragsinhalt zu aktualisieren, konnte ich einen Absatzblock einfügen. Hier ist mein Code:

wp.data.dispatch( 'core/editor' ).editPost( { title: 'New Title' } );
var editedContent = wp.data.select( "core/editor" ).getEditedPostContent();
var newBlock = wp.blocks.createBlock( "core/paragraph", {
    content: editedContent,
});
wp.data.dispatch( "core/editor" ).insertBlocks( newBlock );
1396350cookie-checkInhalt des Gutenberg-Editors in JavaScript (WordPress)

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

Privacy policy