wordpress - 使用新的古腾堡编辑器进行摘录定制的解决方案
问题描述
我已经对原生 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');
这只是一个简单的例子,例如摘录元框标识符已更改吗?
解决方案
推荐阅读
- java - Gradle 多项目存储库配置不适用于 spring-boot 应用程序
- reactjs - 如何动态更改导航栏标题?
- ansible - Ansible 角色意味着另一个角色
- python - 如何从 Pandas 系列中提取不同长度的行值到新列?
- python - 添加具有相同键但值元组的变量列表的两个字典的值
- proof - 如何给出正确的前提条件来证明 frama-c 中的断言语句?
- c# - 获取用户头像并在 discord.net 中对其进行缩放
- android - kotlin 上 Fragment 中的 Android AdMob 自适应横幅?
- visual-studio-code - 格式 onsave 在 Prettier 的 VS Code 中不起作用
- javascript - 如何垂直居中输入字段