检查长度并限制它是没有问题的,但是当你在保存帖子时设置类别时,为每个类别设置不同的限制会有点棘手。以下是您需要采取的步骤:
检查$post
var强制要求用户选择一个类别,查看用户选择的类别设置自定义类别元数据,其中包含该类别的最大长度,然后仅在较小且未引发错误的情况下提交,但正如我所说,设置一般限制相当简单。下面是一个简单的PHP和javascript片段,用于检索页面上的当前编辑器,计算编辑器中的字符数,并在字符数超过某个限制时显示警告。使用显著的警告而不是自动截断内容可以提供更好的可用性。你可以把它做成plugin 如果没有,请确保使用child theme.
I haven\'t tested this, but it should work fine.
add_action( \'admin_print_footer_scripts\', \'check_textarea_length\' );
function check_textarea_length() {
?>
<script type="text/javascript">
jQuery( document ).ready( function($) {
var editor_char_limit = 50;
$(\'#post-status-info\').append(\'<span class="word-count-message">Reduce word count!</span>\');
tinyMCE.activeEditor.onKeyUp.add( function() {
// Strip HTML tags, WordPress shortcodes and white space
editor_content = this.getContent().replace(/(<[a-zA-Z\\/][^<>]*>|\\[([^\\]]+)\\])|(\\s+)/ig,\'\');
if ( editor_content.length > editor_char_limit ) {
$(\'#post-status-info\').addClass(\'toomanychars\');
} else {
$(\'#post-status-info\').removeClass(\'toomanychars\');
}
});
});
</script>
<style type="text/css">
.word-count-message { font-size:1.1em; display:none; float:right; color:#fff; font-weight:bold; margin-top:2px; }
.toomanychars { background:red; }
.toomanychars .word-count-message { display:block; }
</style>
<?php
}
If using this in production, remember to move both Javascript and CSS into files and use appropriate admin hooks for adding them only on pages that display the editor you need.