首页 > 解决方案 > 使用新的古腾堡编辑器进行摘录定制的解决方案

问题描述

我已经对原生 Wordpress Excerpt 元框进行了几次定制,这些元框似乎不再适用于新的 Gutenberg 编辑器,而且我在网上找不到可以指导我找到解决方案的文档。

有谁知道如何修改以下代码片段以与新的古腾堡编辑器一起使用?

此代码段删除了本机摘录并将其重新定位在标题元框下方的编辑器屏幕顶部:

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

这只是一个简单的例子,例如摘录元框标识符已更改吗?

标签: wordpresswordpress-gutenberg

解决方案


推荐阅读