Спеціальні типи публікацій: Як позбутися редактора (поле -meta)


9

Я запитую, як я можу позбутися пост-редактора (visual + html). Я намагався не реєструвати підтримку типу публікації, і вона все ще з’являється (дереєстрація працює чудово, як і всі інші мета-поля за замовчуванням на екрані редагування публікацій). Я також спробував скасувати реєстрацію за допомогою Remove_meta_box, який теж не працював (працює для всього іншого, крім мета-поля заголовка). Можливо, мені щось не вистачає. Вже шукали в Інтернеті і нічого не могли знайти. Сподіваюся, хтось може мені сказати. Дякую!

Пс. Я був би радий відмову від відключення поля заголовка, але це вже 2-е (не реєструючи його у публікації типу публікацій).

(Версія Wordpress - 3.0.4.)

Відповіді:


17

Надавши порожній масив "підтримка" в декларації типу публікації, слід позбутися редактора та заголовка разом із усіма іншими полями за замовчуванням на сторінці редагування публікації.

$supports = array ('');
    $args = array(
      'label' => 'people',
      'supports' => $supports,
      'hierarchical' => false,
      'public' => true,
      'rewrite' => true
         );

    register_post_type( 'people', $args);

Результат: alt текст Запропонуйте "підтримку" з будь-якими елементами, які ви хочете показати, наприклад, трекбеками, коментарями тощо. Або просто залиште його порожнім, щоб залишити сторінку порожньою, за винятком поля, яке дозволяє зберігати ваші публікації. Не забудьте відвідати тут, якщо ви хочете позбутися ієрархічної метабокси таксономії.


Дякую поки що. Моя проблема полягає в тому, що я не можу налаштувати все на порожнє. Я написав три класи для прискорення генерації користувацьких типів публікацій, спеціальних таксономій та тегів. Вони отримали за замовчуванням. Що стосується спеціальних типів публікацій, це просто все. Але мені потрібно скасувати реєстрацію деяких полів для певних типів публікацій. І для одного мені теж потрібно скасувати реєстраційне поле.
кайзер

Мене цікавить, що ви маєте на увазі, встановивши все порожнє? Якщо ви хочете позбутися редактора, просто не вводите його; редактор 'в масив' підтримує ', коли ви створюєте тип публікації у своєму класі.
Менні Флермонд

2
@kaiser, якщо це власні заняття, у чому проблема? Змусити їх впоратися? ..
Рарст

@Rarst: Це лише база, яка створює такі речі: реєструйте типи публікацій та таксономії з масиву та пропонуючи фільтр для $ міток та $ аргів (за замовчуванням та конкретних). Клас термінів генерує лише умови, які не можна видалити, які оновлюються та призначаються з масиву. Мета-скриньки можуть бути легкими без класу і інтегрувати мене не має сенсу. Заняття існують лише для того, щоб заощадити мені час та утримати клієнтів від видалення термінів, необхідних системі. Але дякую, що подивився. Ваша допомога високо оцінена (знову) :)
кайзер

2
@kaiser, в чому проблема з налаштуванням supportsпорожнього масиву через фільтр?
Рарст

15

Якщо ви нічого не передаєте для supportsаргументу, використовуються параметри за замовчуванням'title', 'editor' (де "нічого" - це все, що є empty()).

Однак так само, як ви можете додати підтримку чогось після реєстрації типу публікації add_post_type_support( $post_type, $feature ), ви можете видалити підтримку чогось, зателефонувавши remove_post_type_support( $post_type, $feature ). Отже, зателефонувавши до цього після реєстрації вашого типу публікації, слід видалити редактор:

remove_post_type_support( 'my_post_type', 'editor' );

Ці функції просто маніпулюють глобальною $_wp_post_type_featuresзмінною, але завжди краще це робити за допомогою функцій API, ніж самостійно пограбувати з нею.


РІШЕННЯ! Я завжди думав, що це просто для того, щоб зняти екс. ескізи або nav_menu через дочірню тему. Дуже дякую!
кайзер

1
О, я це пропустив. Добре, якщо пропустити порожній масив буде оцінено порожнім ... Передача порожніх значень - це завжди безлад, це контр-інтуїтивно, тому трактується як дефолт замість нічого . :(
Рарст

1
@Rarst: Я думаю, що це також спрацює, якби ти передав ім'я функції манекена. Це просто ключ масиву, тому не має значення, чи вставляються фіктивні дані. Я колись використовував 0.1замість 0параметра для передачі empty()перевірки.
Ян Фабрі

1
@Jan Fabry так, це просто не перший раз, коли я ступив на своє empty(). Як вище - дуже контр-інтуїтивно зрозумілим.
Рарст

Гм. Це не працює з ключами, і тому я думаю, що "фіктивні значення" можуть стати ще одним "моїм", коли оновлення пізніше (спробуйте знайти неправильне значення). У будь-якому випадку: дякую вам обом! :) Редагувати: було б зручно, якби значення не були просто там, а були ключовими / значеннями. Вих. 'support' => array('thumbnail' => true, 'editor' => false);
кайзер

2

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

Управління типом публікації -> Переглянути розширені параметри

Ось посилання на плагін: http://wordpress.org/extend/plugins/custom-post-type-ui/

PS - дозволяє також відключити поле заголовка :)


Як було сказано вище, я написав три класи, і тому не можу перейти на плагін. Я маю на увазі, що я б навіть не подумав використовувати плагін. Плагіни - це (imo) для розробки або прості взаємозамінні речі, такі як форми коментарів, а не основні матеріали, такі як типи публікацій або таксономії. Все одно, дякую!
кайзер

1
Насправді плагіни можуть налаштувати майже все, що стосується Wordpress, включаючи власні типи публікацій. Зараз я створюю плагін, який створює численні типи публікацій, їх метабокси та різні спеціальні поля.
Менні Флермонд

@Manny Fleurmond: Якщо ви збираєтеся поділитися, будь ласка, залишіть мені посилання. Я все ще замислююся над тим, що, можливо, пишу рутину для вдосконалених мета-скриньок і на своїх заняттях.
кайзер

0

Перевірте register_post_type (); в кодексі. У розділі Аргументи прокрутіть вниз, доки не з’явиться Підтримка .

Станом на 3.5, булеве falseможе передаватися як значення замість масиву, щоб запобігти поведінці за замовчуванням (заголовок та редактор).

Або налаштуйте свій спеціальний тип публікації, як вам потрібно, додавши в значення, наприклад, потрібні:

'supports' => array(
    'title',
    'author',
    'thumbnail',
    'post-formats'
),

Ці підтримувані параметри в моєму масиві з'являться в моєму сервісі Wordpress.


-2

Ви також можете встановити стиль для редагування сторінки адміністратора, щоб приховати деякі елементи, такі як редактор тощо.

function custom_colors() {
   echo '<style type="text/css">
            body.post-type-events #postdivrich {
            display: none;
            }
         </style>';
}

add_action('admin_head', 'custom_colors');

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