Nie chcę używać WYSIWYG na górze mojego niestandardowego typu postu. Chcę użyć niestandardowego pola tekstowego, które zamiast tego mogę umieścić na dole mojej listy pól niestandardowych.
czy to możliwe?
Nie chcę używać WYSIWYG na górze mojego niestandardowego typu postu. Chcę użyć niestandardowego pola tekstowego, które zamiast tego mogę umieścić na dole mojej listy pól niestandardowych.
czy to możliwe?
Odpowiedzi:
add_action('init', 'init_remove_support',100);
function init_remove_support(){
$post_type = 'your post type';
remove_post_type_support( $post_type, 'editor');
}
umieść go w swoich motywach functions.php
supports
parametr w interfejsie użytkownika. Zapoznaj się z tymi zrzutami ekranu .
Możesz faktycznie wyłączyć edytor WYSIWYG, pozostawiając tylko edytor źródłowy HTML. Wybierz funkcję poniżej:
// 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;
});
Alternatywnie możesz obsługiwać obsługę post-edytora bezpośrednio w swoim register_post_type()
wywołaniu, za pomocą 'supports'
parametru w $args
tablicy.
Domyślną wartością jest: 'supports' => array( 'title', 'editor' )
.
Możesz zmienić to, czego potrzebujesz; na przykład: 'supports' => array( 'title' )
.
Odp: ten komentarz:
Używam niestandardowego interfejsu użytkownika w kombinacji z AdvancedCustomFields.
Typy niestandardowe post UI Plugin naraża wszystkich register_post_type()
$args
parametrów tablicowych w jego interfejsie.
W takim przypadku wystarczy po prostu znaleźć sekcję Wsparcie i wyłączyć / odznaczyć Edytor :
Innym, bardziej spójnym sposobem wyłączenia edytora WYSIWYG, pozostawiając tylko edytor źródłowy HTML - jest wyłączenie tinymce przy użyciu filtra „wp_editor_settings” dla niestandardowego typu postu.
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' );
remove_post_type_support()
w ramach tego samego wywołania zwrotnegoregister_post_type()
, aby zapewnić prawidłową kolejność wykonywania.