web-dev-qa-db-ja.com

Gutenbergエディタを無効にするには?

5.0が現実のものになりつつあるので、そしてグーテンベルクもそうです...

グーテンベルクを無効にして以前のTinyMCEエディタを使用することは可能ですか?

これを行う方法?

4

はい、無効にすることができます。

あなたはコードでこれを行うことができます

グローバルに無効にしたい場合は、次のコードを使用できます。

if ( version_compare($GLOBALS['wp_version'], '5.0-beta', '>') ) {
    // WP > 5 beta
    add_filter( 'use_block_editor_for_post_type', '__return_false', 100 );
} else {
    // WP < 5 beta
    add_filter( 'gutenberg_can_edit_post_type', '__return_false' );
}

特定の投稿タイプに対してのみ無効にしたい場合は、次のようにします。

function my_disable_gutenberg_for_post_type( $is_enabled, $post_type ) {
    if ( 'page' == $post_type ) {  // disable for pages, change 'page' to you CPT slug
        return false;
    }

    return $is_enabled;
}
if ( version_compare($GLOBALS['wp_version'], '5.0-beta', '>') ) {
    // WP > 5 beta
    add_filter( 'use_block_editor_for_post_type', 'my_disable_gutenberg_for_post_type', 10, 2 );
} else {
    // WP < 5 beta
    add_filter( 'gutenberg_can_edit_post_type', 'my_disable_gutenberg_for_post_type', 10, 2 );
}

PS。古いバージョンをサポートしたくない場合は、 'gutenberg_'で始まるフィルタを無視することができます。そのため、そのような場合にはバージョンチェックは必要ありません。

または既存のプラグインを使用する

  1. クラシックエディタ
  2. グーテンベルクを無効にする
  3. グーテンフリーオプション
  4. グーテンベルクランプ
5

これを自分のfunction.phpに追加したところ、うまく機能しました

add_filter('use_block_editor_for_post', '__return_false');
2
dragoeco

一般的に答えはノーです。 Gutenbergは、5.0より前のエディターが行った方法とは異なるフォーマットでコンテンツを保管します。 YMMVコンテンツが既に作成された後にグーテンベルクを無効にしようとすると、コアブロックでうまくいくかもしれませんが、プラグインによって作成されたブロックは知っています。

問題がグーテンベルクで編集されたコンテンツを持つ前に無効にすることであるなら、あなたは他の答えでより良いチャンスを持っています、しかしこれは短期間の回避策になるだろうし、長期的な適切な戦略ではありません。長期的に見れば、これらすべての選択肢がテストされるわけでも、ほんの少し腐敗しているわけでもありません。そしてそれに加えて、あなたが扱うことができるテーマとプラグインの限られた選択があるかもしれません。

5.0はすでにサンプルコンテンツの厳格なコード化をハードコーディングしています。あなたはハックでそれを使用する必要性を免れるつもりはありません。

あなたがWordPressを使いたいなら、あなたはそのコア機能を受け入れるべきです、そしてあなたは技術的な負債を増やしたくないし、急いでグーテンベルクに移住することを強いられません。安定したら、それを実行するだけでよいのです。

WordPressのコア機能を受け入れたくない場合は、なぜ使用しますか。

2
Mark Kaplun

あなたはクラシックエディタプラグインをインストールすることによってグーテンベルクを無効にすることができます https://wordpress.org/plugins/classic-editor/ これはグーテンベルグエディタを無効にします。

ありがとう

1
Abhijeet Kumar