È possibile rimuovere WYSIWYG per un determinato tipo di posta personalizzato?


18

Non desidero utilizzare il WYSIWYG nella parte superiore del mio tipo di post personalizzato. Voglio usare un'area di testo di campo personalizzata che posso posizionare in fondo al mio elenco di campi personalizzati.

È possibile?

Risposte:


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

posizionalo sui tuoi temi funzioni.php


1
Nota: consiglierei di chiamare remove_post_type_support()all'interno dello stesso callback che chiami register_post_type(), per garantire il corretto ordine di esecuzione.
Chip Bennett,

Non vedo register_post_type () in Functions.php. Sto utilizzando l'interfaccia utente dei tipi personalizzati in combinazione con AdvancedCustomFields.
scottgemmell,

Il fatto che tu stia utilizzando il plug-in dell'interfaccia utente dei tipi di post personalizzati è un dettaglio piuttosto importante per la tua domanda. :) Il plugin espone il supportsparametro nella sua interfaccia utente. Fare riferimento a questi screenshot .
Chip Bennett,

14

Puoi effettivamente disabilitare l'editor WYSIWYG, lasciando solo l'editor sorgente HTML. Scegli una funzione di seguito:

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

c'è un modo per rimuovere il WYSIWYG dall'estratto? Il mio tema è stato attivato e sono dubbioso su alcuni dei loro codici, non sono sicuro di poterlo rimuovere. Ho fatto questa domanda come una nuova domanda qui: wordpress.stackexchange.com/questions/300877/…
Jason

Ciao, onestamente, non lo so, la mia conoscenza del WP è un po 'arrugginita, scusa. L'unica cosa che posso suggerire è di scavare nel codice sorgente di WP, trovare qualcosa di rilevante, quindi duckduckgo / google per documentazione / esempi.
user188421

9

In alternativa, è possibile gestire il supporto post-editor direttamente nella register_post_type()chiamata, tramite il 'supports'parametro $argsnell'array.

Il valore di default è: 'supports' => array( 'title', 'editor' ).

Puoi cambiarlo in qualsiasi cosa tu abbia bisogno; per esempio: 'supports' => array( 'title' ).


6

Ri: questo commento:

Sto utilizzando l'interfaccia utente dei tipi personalizzati in combinazione con AdvancedCustomFields.

Il plug-in dell'interfaccia utente dei tipi di post personalizzati espone tutti i register_post_type() $argsparametri dell'array nella sua interfaccia utente.

In questo caso, devi semplicemente trovare la sezione Supporti e disabilitare / deselezionare Editor :

Plugin UI di tipi di posta personalizzati - Registra le opzioni del tipo di posta


Anche se è stata impostata un'altra risposta come risposta selezionata, questa è la risposta corretta. Non è necessario eseguire un filtro per rimuovere qualcosa che puoi semplicemente escludere quando dichiari il CPT per cominciare.
Butlerblog,

-1

Un altro modo più coerente per disabilitare l'editor WYSIWYG, lasciando solo l'editor di origine html, è quello di non consentire tinymce usando il filtro "wp_editor_settings" per il tuo tipo di post personalizzato.

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

Si prega di modificare la risposta , e aggiungere una spiegazione: perché potrebbe che risolvere il problema?
fuxia
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.