fix(submit): render the configured body placeholder in TinyMCE
WordPress 打包的 TinyMCE 4.9 不含官方 placeholder 插件,tinymce.init 里的 placeholder 配置被静默忽略,投稿页「投稿内容占位符」从未显示过。 新增主题插件 assets/js/front-submit-placeholder.js:正文为空时插入一个 data-mce-bogus 的占位段落,有内容即移除;序列化 / 解析都剔除该段落, 字数统计也跳过它,提示文字不会写进文章。 - 经典投稿表单与创作者工作台都通过 external_plugins 加载 (WordPress 会丢弃名字已在 plugins 列表里的外部插件) - 占位样式写进 iframe 的 content CSS:submit-editor.css 与 editor-content-style.ts Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
beb898b1ab
commit
44a03fd5f4
8 files changed
+228
-3
No files matched your search
@@ -526,8 +526,17 @@
|
||||
}
|
||||
|
||||
function updateCount() {
|
||||
var count = String((editor.getBody() && editor.getBody().textContent) || '')
|
||||
.replace(/\s+/g, '').length;
|
||||
// 正文占位符是编辑器插入的提示段落,不算作者写的字。
|
||||
var body = editor.getBody();
|
||||
var text = '';
|
||||
if (body) {
|
||||
var clone = body.cloneNode(true);
|
||||
Array.prototype.forEach.call(clone.querySelectorAll('[data-jio-placeholder]'), function (node) {
|
||||
node.parentNode && node.parentNode.removeChild(node);
|
||||
});
|
||||
text = String(clone.textContent || '');
|
||||
}
|
||||
var count = text.replace(/\s+/g, '').length;
|
||||
var element = getCounter();
|
||||
if (element) {
|
||||
element.textContent = '字数:' + count;
|
||||
|
||||
Reference in new issue
Block a user