Désactiver les astuces Gutenberg pour toujours - pas Gutenberg


11

J'aime beaucoup Gutenberg, cependant, les conseils au début de chaque chargement de page me rendent fou. Je voudrais désactiver les astuces lancinantes pour toujours et toujours via le code.

Merci de ne pas poster le plugin "Disable Gutenberg", je l'ai déjà vu. Je veux le faire via quelques lignes de code dans mon thème.

Il doit y avoir un crochet, mais je ne l'ai pas trouvé. Merci pour un indice.

entrez la description de l'image ici

Réponses:


12

entrez la description de l'image ici

Mise à jour # 1:

Après avoir demandé à @leymannx, j'ai vérifié comment ces paramètres sont stockés. Il s'est avéré que les paramètres ne sont pas permanents, ils sont enregistrés dans le navigateur sous localStorage.

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

Mise à jour # 2:

Les astuces Gutenberg peuvent être désactivées à l'aide de dispatch('core/nux').disableTips()( package NUX ) et du crochet d'action enqueue_block_editor_assets.

fichier 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');

fichier disable-tips.js :

jQuery(document).ready(function(){
    var isVisible = wp.data.select('core/nux').areTipsEnabled()
    if (isVisible) {
        wp.data.dispatch('core/nux').disableTips();
    }
});

Est-ce globalement pour chaque utilisateur? Existe-t-il un moyen de configurer cela également par code? De sorte que lorsque j'expédie un plugin à un client, il désactive les conseils lorsque ce plugin est activé?
leymannx

1
Si c'est une option capable de cocher dans la zone d'administration, ils seront à l'écart pour tous car les valeurs doivent être stockées quelque part, vous devriez dans le code pouvoir définir cette valeur pour tous les utilisateurs sur init ou quelque chose, essayez de trouver où il stocke cette valeur dans la DB
Daniel Vickers

1
@leymannx Cela nécessiterait du code supplémentaire (js + php) qui, après avoir changé areTipsEnabled, écrit l'état dans la base de données et le restaure lorsque l'utilisateur se connecte.
nmr

1
C'est génial, je vais l'essayer demain et vérifier la réponse si cela fonctionne. Je vous remercie!
user3135691

1
@ user3135691 Dans le fichier plugin, remplacez get_stylesheet_directory_uri() . '/disable-tips.js' par plugins_url('/disable-tips.js', __FILE__).
nmr

2

Comme @nmr l'a découvert, cela semble être stocké uniquement par navigateur. Bien que j'aie trouvé une solution de contournement pour le masquer simplement via CSS. Rapide et sale.

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;
}

Source: Création de styles d'éditeur de thème pour Gutenberg


Oui, cette solution m'est également venue à l'esprit mais comme vous l'avez dit: c'est rapide et sale. Merci de votre aide.
user3135691
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.