• お世話になります。

    Custom Field Suiteプラグインを使い画像をアップしています。

    <?php echo wp_get_attachment_image(post_custom(‘image_photo01′),’img_size_02’); ?>

    を入れると

    <img width=”670″ height=”450″ src=”□□□□□□□□/wp/wp-content/uploads/2015/09/01-670×450.jpg” class=”attachment-img_size_02″ alt=”01″ />

    と表示されます。

    classを2つ追加したいのですが、どういう風に書けばclass追加できるのでしょうか?

    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • aaaabbbb という class を追加するとして、

    add_filter( 'wp_get_attachment_image_attributes', 'my_awesome_attachment_add_class' );
    function my_awesome_attachment_add_class( $attr ) {
    	if ( ! isset( $attr['class'] ) )
    		$attr['class'] = '';
    	$attr['class'] .= ' aaaa bbbb';
    	return $attr;
    }

    ただし、これだと wp_get_attachment_image 関数が呼び出された時は全ての画像に class が付与されます。
    特定のページにのみ適用したい場合は上記のコード全体を表示させたい条件に合わせた条件分岐の先に(あるいはテンプレートのはじめに) 記述する必要があります。

    トピック投稿者 0708

    (@0708-1)

    mimosafaさん 

    試してみました。
    確かにclassは当たりましたが、wp_get_attachment_image 全部にあたってしまって
    上手く行かない感じになってます。

    一つの wp_get_attachment_image だけに当てたい感じなんです。

    うまい方法ありましたら、皆様よろしくお願いします。

    wp_get_attachment_image では、第4引数の $attr で、属性名と値を指定することができますので、そちらで指定してください。

    wp_get_attachment_image パラメータ

    !
    私のは忘れてください… > < )

    トピック投稿者 0708

    (@0708-1)

    jim912さん ありがとうございます。

    class01 class02 こちらのclassを入れたいと時は
    下記のコードはどちらにどのように入れればいいんでしょうか?
    よろしくお願いします。

    $default_attr = array(
    ‘src’ => $src,
    ‘class’ => “attachment-$size class01 class02”,
    ‘alt’ => trim( strip_tags( get_post_meta( $attachment_id, ‘_wp_attachment_image_alt’, true ) ) ),
    );

    <?php echo wp_get_attachment_image(post_custom('image_photo01'),'img_size_02'); ?>

    としているところを、

    <?php
    $size = 'img_size_02';
    $args = array( 'class' = 'attachment-' . $size . ' class01 class02' );
    // または、
    // $attr = 'class=attachment-' . $size . ' class01 class02';
    echo wp_get_attachment_image( post_custom('image_photo01'), $size, false, $args );
    ?>

    でだいじょうぶだと思います

    トピック投稿者 0708

    (@0708-1)

    mimosafaさん
    下記で上手くいきました。
    本当にたすかりました。ありがとうございました。

    mimosafaさんもありがとうございました。

    <?php
    $size = 'img_size_02';
    $attr = 'class=attachment-' . $size . ' class01 class02';
    echo wp_get_attachment_image( post_custom('image_photo01'), $size, false, $attr);
    ?>

    0708さん
    よかったです。

    タイプミスがあったので修正させていただきます ~_~ ;

    <?php
    $size = 'img_size_02';
    $args = array( 'class' => 'attachment-' . $size . ' class01 class02' ); // <- 修正
    // または、
    // $attr = 'class=attachment-' . $size . ' class01 class02';
    echo wp_get_attachment_image( post_custom('image_photo01'), $size, false, $args );
    ?>

8件の返信を表示中 - 1 - 8件目 (全8件中)

トピック「Custom Field Suite で画像にclassを追加方法」には新たに返信することはできません。