Чи можливо видалити WYSIWYG для певного користувальницького типу пошти?


18

Я не хочу використовувати WYSIWYG у верхній частині мого спеціального типу пошти. Я хочу використовувати власну текстову область поля, яку я можу замість цього розмістити внизу списку спеціальних полів.

Чи можливо це?

Відповіді:


20
add_action('init', 'init_remove_support',100);
function init_remove_support(){
    $post_type = 'your post type';
    remove_post_type_support( $post_type, 'editor');
}

розмістіть його на своїх темах function.php


1
Примітка: Я б рекомендував зателефонувати remove_post_type_support()всередину того ж зворотного дзвінка, що і ви register_post_type(), щоб забезпечити належний порядок виконання.
Чіп Беннетт

Я не бачу register_post_type () у function.php. Я використовую користувальницький інтерфейс типів у поєднанні з AdvancedCustomFields.
scottgemmell

Те, що ви використовуєте Плагін користувальницьких типів користувацьких типів, є досить важливою деталлю вашого питання. :) Плагін виставляє supportsпараметр у своєму інтерфейсі. Перегляньте ці скріншоти .
Чіп Беннетт

14

Фактично ви можете відключити редактор WYSIWYG, залишивши лише редактор джерела html. Виберіть функцію нижче:

// disable wyswyg for custom post type, using the global $post
add_filter('user_can_richedit', function( $default ){
  global $post;
  if( $post->post_type === 'product')  return false;
  return $default;
});

// disable wyswyg for custom post type, using get_post_type() function
add_filter('user_can_richedit', function( $default ){
  if( get_post_type() === 'product')  return false;
  return $default;
});

чи є спосіб вилучити WYSIWYG з уривка лише? Моя тема увімкнена, і я сумніваюся в деяких їх кодах, я не впевнений, що зможу її видалити. Я поставив це питання як нове запитання тут: wordpress.stackexchange.com/questions/300877/…
Джейсон

Привіт, чесно кажучи, я не знаю, мої знання WP трохи іржаві, вибачте. Єдине, що я можу запропонувати - це заглибитись у вихідний код WP, знайти щось відповідне, а потім duckduckgo / google це для документації / прикладів.
користувач188421

9

Крім того, ви можете обробляти підтримку після редактора безпосередньо у своєму register_post_type()дзвінку через 'supports'параметр у $argsмасиві.

Значення за замовчуванням: 'supports' => array( 'title', 'editor' ).

Ви можете змінити його на все, що вам потрібно; наприклад: 'supports' => array( 'title' ).


6

Re: цей коментар:

Я використовую користувальницький інтерфейс типів у поєднанні з AdvancedCustomFields.

МИТНИЙ ПОСТ Типи UI Плагін надає всі register_post_type() $argsпараметри масиву в його інтерфейсі.

У цьому випадку вам просто потрібно знайти розділ Підтримка та відключити / зняти Редактор :

Плагін користувальницького типу користувальницьких типів - зареєструйте параметри типу публікації


Хоча інша відповідь була встановлена ​​як обрана відповідь, це правильна відповідь. Не потрібно запускати фільтр, щоб видалити щось, що ви можете просто виключити, оголосивши CPT для початку.
butlerblog

-1

Ще один, більш послідовний спосіб відключення редактора WYSIWYG, залишаючи лише редактор джерела html - це заборонити tinymce, використовуючи фільтр "wp_editor_settings" для вашого власного типу публікації.

function my_post_type_editor_settings( $settings ) {

    global $post_type;

    if ( $post_type == 'my_post_type' ) {

        $settings[ 'tinymce' ] = false;
    }

    return $settings;
}

add_filter( 'wp_editor_settings', 'my_post_type_editor_settings' );

Будь ласка , змініть свій відповідь , і додати пояснення: чому це може вирішити цю проблему?
фуксія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.