将媒体插入POST时触发哪个挂钩

时间:2016-04-24 作者:Noob Coder

我想在将每个图像插入帖子时为它们添加编号。例如,如果我在帖子中插入3幅图像,则会出现:

图1

图2

图3

我查阅了WordPress文档,但找不到在帖子中插入图像时触发的挂钩。

2 个回复
最合适的回答,由SO网友:jdm2112 整理而成

这个add_attachmentwp_insert_attachment() 函数将向媒体库中添加项目。首先进入媒体库后,图像会添加到帖子中。即使通过post editor添加,也会使用wp_insert_attachment() 然后去邮局。

add_action( \'add_attachment\', function( $post_ID ) { 
    // Do Stuff
});
这将不允许您按帖子对项目进行编号,只能按媒体库中的实例进行编号。我无法回答这是否对你有用。

https://codex.wordpress.org/Plugin_API/Action_Reference/add_attachment

SO网友:Orun

如果您真的想了解文章作者在Wordpress编辑器中插入图像或其他附件时的情况,请使用image_send_to_editor()

例如,如果要将图像包装在<div><figure> 每次都可以这样做:

function wrap_attachments($html, $id, $caption, $title, $align, $url) {
  $src  = wp_get_attachment_image_src( $id, $size, false );
  $output = "<div id=\'post-$id media-$id\' class=\'align$align\'>";
  $output .= "<img src=\'$src[0]\' alt=\'$title\' width=\'$src[1]\' height=\'$src[2]\' />";
  $output .= "</div>";
  return $output;
}
add_filter( \'image_send_to_editor\', \'wrap_attachments\', 10, 9 );
其他说明in this article.

相关推荐

为什么NAV_MENU_css_CLASS不能与Apply_Filters一起使用?

我试图将css类添加到导航项中。记录的函数调用WordPress docs 是apply_filters( \'nav_menu_css_class\', string[] $classes, WP_Post $item, stdClass $args, int $depth ) 但我尝试在函数中添加以下内容。“我的孩子”主题中的php不起作用。apply_filters(\'nav_menu_css_class\', [\'nav-item\']); 但在函数中添加以下内容。php工作正