Решение для выработки индивидуальной настройки с новым редактором Gutenberg - PullRequest
0 голосов
/ 04 февраля 2019

Я сделал несколько настроек для собственного метабокса Wordpress Excerpt, который, похоже, больше не работает с новым редактором Гутенберга, и я не могу найти в сети документацию, которая бы подсказывала мне решение.

Кто-нибудь знает, какследующие фрагменты кода можно изменить для работы с новым редактором Гутенберга?

Этот фрагмент удаляет собственный отрывок и перемещает его в верхней части экрана редактора под метаболом заголовка:

function remove_normal_excerpt() {
remove_meta_box( 'postexcerpt' , 'post' , 'normal' );
}
add_action( 'admin_menu' , 'remove_normal_excerpt' );

function add_new_excerpt_meta( $post_type ) {
$post_types = get_post_types( array ( 'public' => true ) );
$excluded_posttypes = array ();
$post_type = array_diff($post_types, $excluded_posttypes);
add_meta_box(
'postexcerpt',
__( 'Excerpt', '' ),
'post_excerpt_meta_box',
$post_type,
'advanced',
'high', 0, 0
);
}
add_action( 'add_meta_boxes', 'add_new_excerpt_meta' );

Этот фрагмент добавляет информационное уведомление в метабокс Excerpt:

function excerpt_add_notice( $translation, $original ) {
if ( 'Excerpt' == $original ) {
return 'Excerpt';
}else{
$pos = strpos($original, 'Excerpts are optional hand-crafted summaries of             
your');
if ($pos !== false) {
return  '<h5 class="notice notice info">Always complete your excerpt     
sections.</h5>';
}
}
return $translation;
}
add_filter( 'gettext', 'excerpt_add_notice', 10, 2 );

Этот фрагмент добавляет ограничение на количество символов javascript в выдержку:

function excerpt_count_js(){
global $post;
if ( get_post_type($post) != 'storefront' ) {
echo '<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div         
style=\"position:absolute;top:12px;right:34px;color:#666;\"><small>Excerpt     
length: </small><span id=\"excerpt_counter\"></span><span style=\"font-
weight:bold; padding-left:7px;\">/ 170</span><small><span style=\"font-    
weight:bold; padding-left:7px;\">character(s).</span></small></div>");
jQuery("span#excerpt_counter").text(jQuery("#excerpt").val().length);
jQuery("#excerpt").keyup( function() {
if(jQuery(this).val().length > 170){
jQuery(this).val(jQuery(this).val().substr(0, 170));
}
jQuery("span#excerpt_counter").text(jQuery("#excerpt").val().length);
});
});</script>';
}
}
add_action( 'admin_head-post.php', 'excerpt_count_js');
add_action( 'admin_head-post-new.php', 'excerpt_count_js');

Это просто случай чего-то простого, например:изменились идентификаторы мета-поля Excerpt?

...