将附件自定义字段元数据添加到TinyMCE<img>标记

时间:2019-01-07 作者:That Brazilian Guy

我成功地added a custom field to the media upload dialog, 但是现在我需要(1)这个字段出现在<img> 每当插入图像时,都会标记帖子内容,以及(2)在TinyMCE上编辑此内容的方法。

输出当前输出以下短代码:

[caption id="attachment_277" align="alignnone" width="150"]
  <img class="size-thumbnail wp-image-277" 
   src="http://localhost/wp-content/uploads/2019/01/filename-150x150.png"
   alt="ALT" width="150" height="150" />CAPTION
[/caption]
然后转换为

<figure id="attachment_277" style="width: 150px" class="wp-caption alignnone">
<img class="size-thumbnail wp-image-277" src="http://localhost/wp-content/uploads/2019/01/filename-150x150.png" 
alt="ALT" width="150" height="150" 
srcset="http://localhost/wp-content/uploads/2019/01/filename-150x150.png 150w, http://localhost/wp-content/uploads/2019/01/filename-100x100.png 100w"
sizes="(max-width: 150px) 100vw, 150px" />
<figcaption class="wp-caption-text">CAPTION</figcaption></figure>
然而,我需要它

<figure class="someclass">
  <img class="otherclass" srcset="..." src="..." 
       width="800" height="600" alt="ALT">
  <figcaption class="legend">CAPTION — $field</figcaption>
</figure>
我怎样才能改变它?

编辑该值,我还需要一种方法,使该字段不仅显示在“媒体库”对话框上,而且显示在TinyMCE的“图像编辑”对话框上。

我如何才能做到这一点?

1 个回复
SO网友:That Brazilian Guy

目前,通过使用do_shortcode_tag 如中所述的过滤器this answer, 和使用get_post_meta 获取值,如中所述this answer.

有(至少!)然而,有两个注意事项:

id 在里面do_shortcode_tag\'s$attr 不是附件帖子ID,而是来自原始短代码的CSS ID。我希望永远都是这样attachment_NNN (其中NNN是附件ID),

  • 用户无法编辑TinyMCE上的值。这实际上是一件好事,因为它的一致性
  • 相关推荐

    how to use media library

    您好,我想使用wordpress媒体库。我想让用户在点击我制作的按钮并选择图片时看到库,我会得到一个用户选择的图片链接。实际上,我想学习我们应该如何使用这个图书馆<button type="button" class="button button-primary">choose picture</button> 我很高兴你们能回答或链接一些文档来研究它们。