Deaktivieren Sie Gutenberg-Tipps für immer - nicht Gutenberg

11

Ich mag Gutenberg sehr, aber die Tipps am Anfang jedes Seitenladens machen mich verrückt. Ich möchte die quälenden Tipps für immer und ewig per Code deaktivieren.

Bitte poste kein "Disable Gutenberg" Plugin, das habe ich schon gesehen. Ich möchte es über ein paar Codezeilen in meinem Thema tun.

Es muss einen Haken geben, aber ich konnte ihn nicht finden. Danke für einen Hinweis.

Geben Sie hier die Bildbeschreibung ein

user3135691
quelle

Antworten:

12

Geben Sie hier die Bildbeschreibung ein

Update Nr. 1:

Nachdem ich @leymannx gefragt hatte, überprüfte ich, wie diese Einstellungen gespeichert sind. Es stellte sich heraus, dass Einstellungen nicht dauerhaft sind, sondern im Browser als gespeichert werden localStorage.

key: WP_DATA_USER_{id}:
value: {
    "core/nux":{
        "preferences":{
            "areTipsEnabled":false,
            "dismissedTips":{}
        }
    },
    //"core/edit-post"
    //...

Update Nr. 2:

Gutenberg-Tipps können mithilfe von dispatch('core/nux').disableTips()( NUX-Paket ) und Action Hook deaktiviert werden enqueue_block_editor_assets.

Datei functions.php :

function se334561_editor_tips() {

    wp_enqueue_script(
        'se334561-js',
        // --- to use in plugin ---
        // plugins_url('/disable-tips.js', __FILE__),
        get_stylesheet_directory_uri() . '/disable-tips.js',
        array('wp-blocks')
    );
}
add_action('enqueue_block_editor_assets', 'se334561_editor_tips');

Datei disable-tips.js :

jQuery(document).ready(function(){
    var isVisible = wp.data.select('core/nux').areTipsEnabled()
    if (isVisible) {
        wp.data.dispatch('core/nux').disableTips();
    }
});
nmr
quelle
Ist das global für jeden Benutzer? Gibt es eine Möglichkeit, dies auch per Code zu konfigurieren? Wenn ich ein Plugin an einen Client versende, werden die Tipps deaktiviert, wenn dieses Plugin aktiviert wird?
Leymannx
1
Wenn es sich um ein Kontrollkästchen im Admin-Bereich handelt, können sie es für alle umschalten, da die Werte irgendwo gespeichert werden müssen. Sie sollten im Code in der Lage sein, diesen Wert für alle Benutzer auf init oder so festzulegen. Versuchen Sie herauszufinden, wo es speichert diesen Wert in der DB
Daniel Vickers
1
@leymannx Dies würde zusätzlichen Code (js + php) erfordern, der nach dem Ändern areTipsEnabledden Status in die Datenbank schreibt und ihn wiederherstellt, wenn sich der Benutzer anmeldet.
nmr
1
Das ist großartig, ich werde es morgen ausprobieren und die Antwort überprüfen, ob es funktioniert. Vielen Dank!
user3135691
1
@ user3135691 In Plugin-Datei ersetzen get_stylesheet_directory_uri() . '/disable-tips.js' durch plugins_url('/disable-tips.js', __FILE__).
nmr
2

Wie @nmr herausgefunden hat, scheint dies nur browserweise gespeichert zu sein. Obwohl ich eine Problemumgehung gefunden habe, um sie einfach über CSS auszublenden. Schnell und dreckig.

functions.php::

// Add backend styles for Gutenberg.
add_action('enqueue_block_editor_assets', 'gutenberg_editor_assets');

function gutenberg_editor_assets() {
  // Load the theme styles within Gutenberg.
  wp_enqueue_style('my-gutenberg-editor-styles', get_theme_file_uri('/assets/gutenberg-editor-styles.css'), FALSE);
}

assets/gutenberg-editor-styles.css::

.components-popover.nux-dot-tip {
  display: none !important;
}

Quelle: Erstellen von Themeneditorstilen für Gutenberg

Leymannx
quelle
Ja, diese Lösung kam mir auch in den Sinn, aber wie Sie gesagt haben: Es ist schnell und schmutzig. Danke für deine Hilfe.
user3135691