गुटेनबर्ग सुझावों को हमेशा के लिए निष्क्रिय करें - गुटेनबर्ग नहीं


11

मुझे गुटेनबर्ग बहुत पसंद है, हालांकि, प्रत्येक पृष्ठ लोड की शुरुआत में युक्तियां मुझे पागल करती हैं। मैं कोड के माध्यम से हमेशा और हमेशा के लिए नेगिंग युक्तियों को अक्षम करना चाहूंगा।

कृपया "Gutenberg अक्षम करें" पोस्ट न करें, मैंने पहले ही देख लिया है। मैं अपने विषय में कोड की कुछ पंक्तियों के माध्यम से करना चाहता हूं।

एक हुक होना चाहिए, लेकिन मुझे नहीं मिला। एक संकेत के लिए धन्यवाद।

यहाँ छवि विवरण दर्ज करें

जवाबों:


12

यहाँ छवि विवरण दर्ज करें

# 1 अपडेट करें:

@Leymannx से पूछने के बाद मैंने जाँच की कि ये सेटिंग्स कैसे संग्रहीत की जाती हैं। यह पता चला कि सेटिंग्स स्थायी नहीं हैं, वे ब्राउज़र में सहेजे जाते हैं localStorage

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

अपडेट # 2:

गुटेनबर्ग युक्तियाँ dispatch('core/nux').disableTips()( NUX पैकेज ) और कार्रवाई हुक का उपयोग करके अक्षम किया जा सकता है enqueue_block_editor_assets

फ़ाइल कार्य

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

फ़ाइल अक्षम करें- tips.js :

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

क्या यह प्रत्येक उपयोगकर्ता के लिए विश्व स्तर पर है? क्या इस कोड को भी प्रति कॉन्फ़िगर करने का कोई तरीका है? इसलिए कि जब मैं किसी क्लाइंट को प्लगइन भेजता हूं तो यह टिप्स को निष्क्रिय कर देता है जब यह प्लगइन सक्रिय हो जाता है?
लीमैनैक्स

1
यदि यह व्यवस्थापक क्षेत्र में एक विकल्प सक्षम चेकबॉक्स है, तो वे इसे सभी के लिए टॉगल करने के लिए दूर हो जाएंगे क्योंकि मूल्यों को कहीं संग्रहीत किया जाना चाहिए, आपको कोड में कुछ उपयोगकर्ताओं के लिए उस मूल्य को सेट करने में सक्षम होना चाहिए या कुछ और, जहां खोजने की कोशिश करें यह डीबी में उस मूल्य को संग्रहीत करता है
डैनियल विकर्स

1
@leymannx इसके लिए अतिरिक्त कोड (js + php) की आवश्यकता होगी, जो बदलने के बाद areTipsEnabled, DB को राज्य को लिखता है और उपयोगकर्ता द्वारा लॉग इन करने पर इसे पुनर्स्थापित करता है।
nmr

1
यह बहुत बढ़िया है, मैं इसे कल आजमाऊंगा और यदि यह काम करता है तो उत्तर की जांच करेगा। धन्यवाद!
user3135691

1
@ user3135691 प्लग इन फ़ाइल के get_stylesheet_directory_uri() . '/disable-tips.js' साथ बदलें plugins_url('/disable-tips.js', __FILE__)
nmr

2

जैसा कि @ आरएनआर को पता चला है कि यह केवल ब्राउज़र-वार संग्रहीत है। हालाँकि मुझे CSS के माध्यम से इसे छिपाने के लिए वर्कअराउंड मिला। जल्दी और गन्दी।

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

स्रोत: गुटेनबर्ग के लिए थीम संपादक शैलियों का निर्माण


हां, यह समाधान मेरे दिमाग में भी आया था लेकिन जैसा कि आपने कहा है: यह त्वरित है 'गंदा। आपके सहयोग के लिए धन्यवाद।
user3135691
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.