Vô hiệu hóa mẹo Gutenberg mãi mãi - không phải Gutenberg


11

Tôi thích Gutenberg rất nhiều, tuy nhiên, các mẹo ở đầu mỗi trang tải khiến tôi phát điên. Tôi muốn vô hiệu hóa các mẹo dai dẳng mãi mãi thông qua mã.

Vui lòng không đăng plugin "Vô hiệu hóa Gutenberg", tôi đã thấy điều đó. Tôi muốn làm điều đó thông qua một vài dòng mã trong chủ đề của tôi.

Phải có một cái móc, nhưng tôi không thể tìm thấy nó. Cảm ơn cho một gợi ý.

nhập mô tả hình ảnh ở đây

Câu trả lời:


12

nhập mô tả hình ảnh ở đây

Cập nhật số 1:

Sau khi hỏi từ @leymannx tôi đã kiểm tra cách các cài đặt này được lưu trữ. Hóa ra các cài đặt không phải là vĩnh viễn, chúng được lưu trong trình duyệt như localStorage.

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

Cập nhật số 2:

Có thể vô hiệu hóa mẹo Gutenberg bằng cách sử dụng dispatch('core/nux').disableTips()( gói NUX ) và hook hành động enqueue_block_editor_assets.

chức năng tập tin.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');

tập tin vô hiệu hóa-tips.js :

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

Đây có phải là toàn cầu cho mọi người dùng? Có cách nào để cấu hình mã này cho mỗi mã không? Vì vậy, khi tôi gửi một plugin cho khách hàng, nó sẽ hủy kích hoạt các mẹo khi plugin này được kích hoạt?
leymannx

1
Nếu đó là một hộp kiểm có thể tùy chọn trong khu vực quản trị, họ sẽ không thể chuyển đổi nó cho tất cả vì các giá trị phải được lưu trữ ở đâu đó trong mã bạn có thể đặt giá trị đó cho tất cả người dùng trên init hoặc thứ gì đó, hãy thử tìm nơi nó lưu trữ giá trị đó trong DB
Daniel Vickers

1
@leymannx Điều này sẽ yêu cầu mã bổ sung (js + php), sau khi thay đổi areTipsEnabled, ghi trạng thái vào DB và khôi phục nó khi người dùng đăng nhập.
nmr

1
Điều đó thật tuyệt vời, tôi sẽ dùng thử vào ngày mai và kiểm tra câu trả lời nếu nó hoạt động. Cảm ơn bạn!
dùng3135691

1
@ user3135691 Trong tệp plugin thay thế get_stylesheet_directory_uri() . '/disable-tips.js' bằng plugins_url('/disable-tips.js', __FILE__).
nmr

2

Như @nmr phát hiện ra điều này dường như chỉ được lưu trữ trên trình duyệt. Mặc dù tôi đã tìm thấy một cách giải quyết đơn giản là ẩn nó qua CSS. Nhanh chóng và hèn hạ.

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

Nguồn: Tạo kiểu soạn thảo chủ đề cho Gutenberg


Vâng, giải pháp này cũng xuất hiện trong đầu tôi nhưng như bạn đã nói: nó nhanh chóng bẩn. Cảm ơn sự giúp đỡ của bạn.
dùng3135691
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.