How does Gutenberg handle translations in React?

In the Gutenberg’s GitHub repository you can see the source of the i18n package that is used. In this source, you’ll see Jed getting imported (line 4 of gutenberg/packages/i18n/src/index.js) and then being used for most of the translation tasks under the hood. Jed introduces the “Gettext Style i18n for Modern JavaScript Apps” (or at least … Read more

Deactivate Gutenberg tips forever – not Gutenberg

Update #1: After asking from @leymannx I checked how these settings are stored. It turned out that settings are not permanent, they are saved in the browser as localStorage. key: WP_DATA_USER_{id}: value: { “core/nux”:{ “preferences”:{ “areTipsEnabled”:false, “dismissedTips”:{} } }, //”core/edit-post” //… Update #2: Gutenberg tips can be disabled by using dispatch(‘core/nux’).disableTips() (NUX package) and action … Read more

How would I get a taxonomy/category list inside a Gutenberg block?

Load the elements into a constant using a function like this: const postSelections = []; const allPosts = wp.apiFetch({path: “/wp/v2/posts”}).then(posts => { postSelections.push({label: “Select a Post”, value: 0}); $.each( posts, function( key, val ) { postSelections.push({label: val.title.rendered, value: val.id}); }); return postSelections; }); Then use postSelections as your element “options”. el( wp.components.SelectControl, { label: __(‘Select … Read more

Trigger Javascript on Gutenberg (Block Editor) Save

Not sure if there is a better way, but I am listening to subscribe rather than adding an event listener to the button: wp.data.subscribe(function () { var isSavingPost = wp.data.select(‘core/editor’).isSavingPost(); var isAutosavingPost = wp.data.select(‘core/editor’).isAutosavingPost(); if (isSavingPost && !isAutosavingPost) { // Here goes your AJAX code …… } }) Official docs of the Post Editor data: … Read more

Add pre-publish conditions to the block editor

EDIT Sept 2021: An updated version of the answer that uses hooks. This version tracks changes in the editor much better. It also uses import statement instead of importing directly from the wp global. This approach when used with the @wordpress/scripts package will correctly add dependencies for this file when being enqueued. Accessing the wp … Read more

check if Gutenberg is currently in use

Necessary API Functions/Methods: You’ll need WP_Screen::is_block_editor() method to check if you are currently in the Gutenberg Editor (Since WordPress 5.0). Also, if you install Gutenberg as a separate plugin, then you’ll have the is_gutenberg_page() function available to do the same check. So for an overall solution, you’ll need to combine these two. Of course, this … Read more