• 解決済 Hidekazu Ishikawa

    (@kurudrive)


    毎度お世話になります。

    wp_get_attachment_image_src() 内の

    apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );

    に対してフィルターで画像を改変したいです。

    それだけなら

    function my_change_wp_get_attachment_image_src( $image ) {
    	$image[0] = '改変したい画像URL';	
    	return $image;
    }
    add_filter( 'wp_get_attachment_image_src', 'my_change_wp_get_attachment_image_src' );

    でいけるかと思います。
    ただ、これをやってしまうと、サイトアイコンを出力する関数などにも影響してしまうため、除外処理を入れる必要があります。

    そこで

    apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );

    で送られてくる $attachment_id が my_change_wp_get_attachment_image_src() の中で使えれば、それを基準に条件分岐処理できるのですが、 $attachment_id が受け取れなくて困っています。

    どなたかアドバイスをいただけると助かります。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • add_filter() の第4引数(関数が受け取る引数の個数)を指定すればいいのでは?

    function my_change_wp_get_attachment_image_src( $image, $attachment_id, $size, $icon ) {
    	return $image;
    }
    add_filter( 'wp_get_attachment_image_src', 'my_change_wp_get_attachment_image_src', 10, 4 );
    トピック投稿者 Hidekazu Ishikawa

    (@kurudrive)

    あー!そゆことですね!
    取れました!ありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「apply_filters() の第3引数で条件分岐したい」には新たに返信することはできません。