【问题标题】:TinyMCE and WordPress Media Manager - Insert into post not workingTinyMCE 和 WordPress 媒体管理器 - 插入帖子不起作用
【发布时间】:2013-02-25 05:37:12
【问题描述】:

为了这个讨论,我正在尝试将所见即所得编辑器 TinyMCE 添加到 WordPress 添加新 cmets 字段。 (实际上,我正在破解 P2,但我们不要分心。)

我从 textarea id="posttext" 开始。

点击触发添加编辑器:tinyMCE.init({mode : "exact", elements: "posttext"});

问题是,我也想使用 WP Add Media。 Insert into Post 适用于 textarea。但是一旦我初始化编辑器 WP 就会忘记插入的位置。由于添加媒体与管理员帖子的编辑一起使用,我认为这是可能的,但有些东西我没有恰到好处。

另外,Insert into Post 查找什么 id=?到目前为止,我认为它可以是 posttext 和 content。

提前感谢您的帮助。

附言当我引起您的注意时,关于通过 Ajax 从 TinyMCE 编辑器提交更改,我需要了解什么特别的信息。 P2 有一个普通的文本区域,我想要的是添加所见即所得。我说得有道理吗?

【问题讨论】:

    标签: wordpress jquery-ui jquery tinymce wordpress-theming


    【解决方案1】:

    为了提供信息,TinyMCE 使用 /wp-admin/admin-ajax.php 中的 Ajax 脚本来提交名为 send-attachment-to-editor 的操作。

    这个函数在 /wp-includes/js/media-editor.min.js 里面

    return wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})
    

    基本上,一旦选择了一个图像项并在点击“插入发布”按钮后,它就会运行 Ajax 脚本并发送操作:send-attachment-to-editor 以及包括 nonce 在内的所有 img 附件信息。

    示例 Ajax 帖子:

    nonce=70b38cc7e2&attachment%5Bid%5D=824&attachment%5Bpost_content%5D=Specialized+S+Works+custom+work+by+Decal+Spec&attachment%5Bpost_excerpt%5D=&attachment%5Burl%5D=http%3A%2F%2Fdecal-spec.com%2Fwp-content%2Fuploads%2F2013%2F02%2FS-Works-5256.jpg&attachment%5Balign%5D=none&attachment%5Bimage-size%5D=large&attachment%5Bimage_alt%5D=Specialized+S+Works+Project&html=%3Ca+href%3D%22http%3A%2F%2Fdecal-spec.com%2Fwp-content%2Fuploads%2F2013%2F02%2FS-Works-5256.jpg%22%3E%3Cimg+src+width%3D%22625%22+height%3D%22942%22+alt%3D%22Specialized+S+Works+Project%22+class%3D%22wp-image-824+alignnone+size-large%22+%2F%3E%3C%2Fa%3E&post_id=0&action=send-attachment-to-editor
    

    然后它会响应您请求的 img 并将其放入编辑器中:

    {"success":true,"data":"<a href=\"http:\/\/decal-spec.com\/wp-content\/uploads\/2013\/02\/S-Works-5256.jpg\"><img src=\"http:\/\/decal-spec.com\/wp-content\/uploads\/2013\/02\/S-Works-5256-679x1024.jpg\" alt=\"Specialized S Works Project\" width=\"625\" height=\"942\" class=\"alignnone size-large wp-image-824\" \/><\/a>"}
    

    对于您的第二个问题,我相信默认情况下内容区域 ID 等于 #page_contents,您可以自己通过 JS/JQuery 手动添加内容。

    有了这一切,我唯一关心的是您将如何显示添加媒体的内容以及上传/img 管理的功能。我相信这个特定部分需要一些权限,并且会导致它控制当前已经在网站上的图片。我很想知道您将如何处理在评论部分中显示此信息和实际用法的任务。

    我知道这个插件已经过时了,可能甚至无法使用,但它可能会对您有所帮助http://wordpress.org/extend/plugins/tinymcecomments/

    【讨论】:

    • 谢谢。回复:“基本上,一旦选择了图像项目并点击“插入发布”按钮后,它就会运行 Ajax 脚本并发送操作:send-attachment-to-editor 和所有 img 附件信息,包括 nonce。但我猜这不会发生?还是我的 TinyMCE 没有“听到”该消息?我已经阅读了您分享的内容,但我仍然有点模糊。如果不是“试试这个......”,也许你可以给我几个“试试这个......”。至于上传者,我只是使用 P2 (p2theme.com) 中已有的内容,不同的是,我希望添加所见即所得和媒体
    • 我不知道这是否适用于新版本。这是有关此主题的参考wordpress.org/support/topic/…
    • 我也会检查一下。澄清一下,添加新媒体正在工作。我可以让它添加到“活动”测试区域。问题是,如果我将该 textarea 更改为 TinyMCE 编辑器,那么 WP 将不再看到它并且不会进行插入。我一定是错过了一个设置或什么,问题是......什么?有什么想法吗?非常感谢。
    • 您是否尝试过使用 Javascript 或 JQuery 根据文本区域的#ID 从添加媒体功能手动将文本附加到文本区域?如果不参考任何代码,我不会给你太多建议。
    • 我不确定我是否遵循:“......来自基于#ID 的添加媒体功能......”我为看起来含糊而道歉,但这有点像我所在的地方。我可以让某些事情在某些条件下发挥作用,但我缺少一些关键的见解。我想这就是我在这里的原因。还有什么要建议的吗?也比较详细。我的部分问题是对整理这些解决方案的细节缺乏了解。提前致谢。
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 2020-02-22
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多