为了提供信息,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 脚本并发送操作:发送附件到编辑器和所有 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 自己手动添加内容。
有了这一切,我唯一关心的是你将如何显示添加媒体的内容和上传/图像管理的功能。我相信这个特定部分需要一些权限,并且会导致它控制当前已经在网站上的图片。我很想知道您将如何处理在评论部分中显示此信息和实际用法的任务。
我知道这个插件已经过时了,甚至可能不起作用,但它可能会帮助你http://wordpress.org/extend/plugins/tinymcecomments/