Est-il possible de supprimer WYSIWYG pour un certain type de publication personnalisé?


18

Je ne veux pas utiliser le WYSIWYG en haut de mon type de message personnalisé. Je souhaite utiliser à la place une zone de texte de champ personnalisé que je peux placer en bas de ma liste de champs personnalisés.

Est-ce possible?

Réponses:


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

placez-le dans vos thèmes functions.php


1
Remarque: je recommanderais d'appeler remove_post_type_support()à l'intérieur du même rappel que vous appelez register_post_type(), pour garantir un bon ordre d'exécution.
Chip Bennett

Je ne vois pas register_post_type () dans functions.php. J'utilise l'interface utilisateur de types personnalisés en combinaison avec AdvancedCustomFields.
scottgemmell

Le fait que vous utilisez le plug-in d'interface utilisateur des types de publication personnalisés est un détail assez important pour votre question. :) Le plugin expose le supportsparamètre dans son interface utilisateur. Reportez-vous à ces captures d'écran .
Chip Bennett

14

Vous pouvez réellement désactiver l'éditeur WYSIWYG, ne laissant que l'éditeur de source html. Choisissez une fonction ci-dessous:

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

existe-t-il un moyen de supprimer uniquement le WYSIWYG de l'extrait? Mon thème est activé, et je doute de certains de leur code, je ne suis pas sûr de pouvoir le supprimer. J'ai posé cette question comme une nouvelle question ici: wordpress.stackexchange.com/questions/300877/…
Jason

Salut, honnêtement, je ne sais pas, mes connaissances WP sont un peu rouillées, désolé. La seule chose que je peux suggérer est de fouiller dans le code source de WP, de trouver quelque chose de pertinent, puis de le duckduckgo / google pour la documentation / exemples.
user188421

9

Alternativement, vous pouvez gérer le support post-éditeur directement dans votre register_post_type()appel, via le 'supports'paramètre dans le $argstableau.

La valeur par défaut est: 'supports' => array( 'title', 'editor' ).

Vous pouvez le changer selon vos besoins; par exemple: 'supports' => array( 'title' ).


6

Re: ce commentaire:

J'utilise l'interface utilisateur de types personnalisés en combinaison avec AdvancedCustomFields.

Le plug-register_post_type() $args in d'interface utilisateur des types de publication personnalisés expose tous les paramètres du tableau dans son interface utilisateur.

Dans ce cas, il vous suffit de trouver la section Supports et de désactiver / décocher l' éditeur :

Plugin d'interface utilisateur de types de publication personnalisés - Enregistrer les options de type de publication


Même si une autre réponse a été définie comme réponse sélectionnée, c'est la bonne réponse. Il n'est pas nécessaire d'exécuter un filtre pour supprimer quelque chose que vous pouvez simplement exclure lors de la déclaration du CPT.
butlerblog

-1

Un autre moyen plus cohérent de désactiver l'éditeur WYSIWYG, ne laissant que l'éditeur de source html, consiste à interdire tinymce en utilisant le filtre "wp_editor_settings" pour votre type de publication personnalisé.

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' );

Veuillez modifier votre réponse et ajouter une explication: pourquoi cela pourrait-il résoudre le problème?
fuxia
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.