web-dev-qa-db-ja.com

メディアを投稿に挿入するときにどのフックが起動されるか

投稿に挿入するときに、各画像に番号を付けます。たとえば、投稿に3枚の画像を挿入すると、次のようになります。

  1. 画像1

  2. 画像2

  3. 画像3

WordPressのドキュメントを調べましたが、投稿に画像を挿入するときにどのフックがトリガーされたのかわかりません。

2
Noob Coder

メディアライブラリにアイテムを追加するためにwp_insert_attachment()関数が呼び出されると、add_attachmentアクションが起動されます。画像は最初にメディアライブラリに入った後で投稿に追加されます。投稿エディタで追加した場合でも、アイテムはwp_insert_attachment()でライブラリに追加されてから投稿に追加されます。

add_action( 'add_attachment', function( $post_ID ) { 
    // Do Stuff
});

これは投稿によってアイテムに番号をつけることを可能にしません、メディアライブラリのインスタンスによってだけ。それがあなたの目的のために働くかどうか、私は答えることができません。

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

3
jdm2112

投稿の作者が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 );

追加の説明 この記事の中に

0
Orun