Header Ads

DISABLE WORDPRESS GUTENBERG




Dengan 99,9999% dari semua situs WordPress yang saat ini menggunakan fungsi tanpa Gutenberg, perubahan besar-besaran yang terjadi akan mempengaruhi jutaan situs web berbasis Wordpress sejak Gutenberg diberlakukan. Banyak bisnis kecil juga tidak memiliki waktu atau anggaran untuk menguji dan memperbarui situs klien untuk mengakomodasi ol 'Gut'.


Old School:

Metode ini tidak disarankan untuk end-user, tetapi sangat worthy. Cukup tambahkan baris berikut ke file wp-config.php, tepat sebelum baris "That's all, stop editing":
$_GET['classic-editor'] = true;

Disable Gutenberg via Plugin:

Cara termudah untuk menonaktifkan Gutenberg adalah menginstal Plugin Disable Gutenberg. Plugin ini cukup sederhana yang berfokus pada satu hal: menonaktifkan Gutenberg dan mengembalikan Wordpress classic editor default. Cukup aktifkan plugin, pilih opsi Sampeyan dan selesai. Opsi meliputi:
  • Nonaktifkan Gutenberg sepenuhnya (semua jenis posting)
  • Nonaktifkan Gutenberg hanya pada jenis posting tertentu (post types)
  • Nonaktifkan Gutenberg untuk peran pengguna tertentu (user role)
  • Nonaktifkan Gutenberg untuk semua themes poot template
  • Opsi untuk menyembunyikan "Try Gutenberg callout nag"
  • Opsi untuk menyembunyikan item menu Gutenberg
Jadi fleksibel namun sederhana, dan super mudah digunakan. Lihat dokumentasi untuk lebih jelasnya.

Disable Gutenberg Menggunakan hook add_filter:

Seperti yang diharapkan WordPress, Gutenberg terus berubah dan selalu update. Tapi Sampeyan dapat menggunakan salah satu hook add filter berikut untuk menonaktifkan Gutenberg sepenuhnya.


// disable for posts
add_filter('use_block_editor_for_post', '__return_false', 10);

// disable for post types
add_filter('use_block_editor_for_post_type', '__return_false', 10);

Pada dasarnya salah satu hook diatas udah sangat cukup; tidak perlu menambahkan keduanya (meskipun secara teknis tidak akan ada ruginya). Idenya adalah bahwa berbagai hook akan memungkinkan Sampeyan untuk mengidentifikasi single posting dan archive. Hook ini berfungsi untuk plugin Gutenberg versi 4.1 atau yang lebih baru, dan WordPress 5.0 (beta) dan yang terbarunya. Untuk versi yang lebih lama, gunakan kode di bawah ini.

Older versions of WordPress Gutenberg:
Untuk sepenuhnya menonaktifkan Gutenberg pada versi yang lebih lama, tambahkan salah satu hook filter berikut pada theme functions.php atau plugins:

// disable for posts
add_filter('gutenberg_can_edit_post', '__return_false', 10);

// disable for post types
add_filter('gutenberg_can_edit_post_type', '__return_false', 10);


Sekali lagi, gak perlu menambahkan kedua baris ini semuanya, keduanya akan berfungsi untuk menonaktifkan Gutenberg di mana pun, misal untuk all posts dan post types. Filter ini cara yang paling disarankan untuk menonaktifkan Gutenberg versi WordPress dibawah 5.0 Beta.

Disable Gutenberg pada Custom Post Types

Untuk versi Gutenberg (4.1+) yang lebih baru, dan WordPress 5.0 beta, berikut ini cara menonaktifkan Gutenberg untuk post types tertentu:


function icore_disable_gutenberg($is_enabled, $post_type) {

if ($post_type === 'book') return false; // change book to your post type

return $is_enabled;

}
add_filter('use_block_editor_for_post_type', 'icore_disable_gutenberg', 10, 2);

Ini sama dengan metode lama dimana satu-satunya hal yang telah berubah hanyalah pada hook. Bandingkan dengan kode yang digunakan untuk versi yang lebih lama.

Older versions WordPress - /Gutenberg
Berikut adalah cara menonaktifkan Gutenberg pada post types tertentu untuk versi Gutenberg yang lebih lama (kurang dari 4,1), dan versi WordPress kurang dari 5,0 beta.

Editor Gutenberg hanya aktif pada posting WordPress di mana ia diaktifkan saja. Secara default, ini termasuk WP Posts dan Pages. Post types lainnya dapat dinonaktifkan menggunakan filter yang sama, gutenberg_can_edit_post_type. Sebagai contoh:


function icore_disable_gutenberg($is_enabled, $post_type) {

if ($post_type === 'book') return false; // change book to your post type

return $is_enabled;

}
add_filter('gutenberg_can_edit_post_type', 'icore_disable_gutenberg', 10, 2);


Di sini kita menonaktifkan Gutenberg hanya untuk post type book. Jadi itu hanya akan mempengaruhi post type book dan tidak pada post types lainnya. Untuk menonaktifkan jenis posting yang berbeda, ganti book dengan nama post type Sampeyan.

Disable registering post types:
Hal ini dimungkinkan juga untuk menonaktifkan G7G ketika melakukan register Post Types. Metode ini hanya masuk akal untuk CPT yang tidak menggunakan post editor, karena pada dasarnya akan menonaktifkan panel editor sepenuhnya. Untuk melakukannya, cukup singkirkan editor dari parameter pendukung saat register post type Samepeyan:



$args = array(
'label' => __('Books'),
'labels' => $labels,
'supports' => array(
'author',
'custom-fields',
// 'editor', // <-- do not add this param 'title', 'thumbnail' ), 'has_archive' => false,
'hierarchical' => false
);
register_post_type('books', $args);

Karena kita telah mengecualikan parameter editor, maka post type books tidak akan menyertakan editor posting termasuk Gutenberg.

Disable registering post types REST API:
Cara lain untuk menonaktifkan Gutenberg ketika register post types adalah dengan menonaktifkan REST untuk post type pilihan Sampeyan. Ini dapat dilakukan dengan mengatur parameter show_in_rest menjadi false.



$args = array(
'label' => __('Books'),
'labels' => $labels,
'show_in_rest' => false, // set to false to disable G7G
'supports' => array(
'author',
'custom-fields',
'editor', // works even when editor is supported
'title',
'thumbnail'
),
'has_archive' => false,
'hierarchical' => false
);
register_post_type('books', $args);


Bahkan jika post type Sampeyan mendukung editor posting, masih dimungkinkan untuk menonaktifkan Gutenberg dengan menonaktifkan REST API, karena Gutenberg membutuhkan REST API untuk dapat berfungsi.

Untuk informasi lebih lanjut tentang register post types, baca di WP Codex.

Disable Gutenberg pada Meta Boxes

Beberapa plugin saya banyak menggunakan meta box, dan itu akan membutuhkan waktu yang signifikan untuk mengolah semuanya. Untungnya, ada cara untuk menonaktifkan editor Gutenberg dimana pun yang menggunakan meta box:

__block_editor_compatible_meta_box



add_meta_box('metabox_id', 'Metabox Title', 'metabox_callback', null, 'advanced', 'default', array('__block_editor_compatible_meta_box' => false));

Perhatikan pada parameter ketujuh $callback_args dimana kita melewatkan __block_editor_compatible_meta_box argument sebagai array item

Untuk informasi lebih lanjut tentang meta box, baca di WP Codex.