如何自定义插入WordPress帖子的图像的HTML标记?

时间:2016-01-19 11:58:26

标签: php html css wordpress

我已经搜索了高低,以寻求解决方案。我想从这里更改WordPress中上传图像的标记:

<div id="attachment_906" style="width: 590px" class="wp-caption aligncenter">
    <img class="size-full wp-image-906  " title="Image Alignment 580x300" alt="Image Alignment 580x300" src="http://localhost/sandbox/wp-content/uploads/2013/03/image-alignment-580x300.jpg" width="580" height="300">
    <p class="wp-caption-text">Look at 580×300 getting some <a title="Image Settings" href="http://en.support.wordpress.com/images/image-settings/">caption</a> love.</p>
</div>

更像这样的事情:

<figure class="center">
    <img class="gallery-img" src="http://lorempixel.com/300/500/">
    <figcaption>
        <span>A slightly longer caption for the image, which is significantly smaller than the last one. pretty neat!</span>
    </figcaption>
</figure>

我知道原帖中的大部分标记都需要保留,但有没有办法自定义任何?即使我可以获得相同的基本结构(包装器,图像,标题包装器,标题),我也可以从那里使用CSS。

由于我正在开发一个主题,我需要使用本机WordPress工具的选项。如果不是这样,我就无法使用它。

我原本希望有一个过滤器或动作可以用来做这件事,但我没有找到这样的事情。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您需要使用image_send_to_editor过滤器。 https://developer.wordpress.org/reference/hooks/image_send_to_editor/

在任何一个活动主题或插件的php文件中都可能看起来像这样(如functions.php);

function filter_image_send_to_editor($content) {
  $content .= '<figure class="center">(Generate your markup here)</figure>';

  return $content;
}
add_filter('image_send_to_editor', 'filter_image_send_to_editor');

当然,你必须在该功能中编写自己的代码。