• 解決済 man56

    (@man56)


    Custom Field Template を導入しまして、ほぼ思い通りの形に出来たのですが、今までビジュアルエディタで配置していた画像に適用されていた Auto-Highslide が効かなくなってしまいました。
    ソースを見ると、class=”highslide-image” と onclick=”return hs.expand(this);” が付加されていません。

    テンプレートには

    [画像]
    type = textarea

    を使用しています。fileにしなかった理由はメディアライブラリの画像をよく使うからです。ショートコードフォーマットにはそのまま[画像]を使っています。

    理想は
    <a href="http://example.com/wordpress/wp-content/uploads/2011/07/aaa.jpg" class="highslide-image" onclick="return hs.expand(this);"><img src="http://example.com/wordpress/wp-content/uploads/2011/07/aaa.jpg" title="aaa" width="150" height="150" class="alignnone size-full wp-image-xxx" /></a>
    という形で出力したいです。

    この方法を実現するには、ショートコードフォーマットにPHPコードを書かなければならないと思いますが、試しに以下のコードを入れてやってみました所空白になってしまいました。
    <?php echo wp_get_attachment_image(get_post_meta($post->ID,'画像',true), 'thumbnail'); ?>
    コードの書き方が間違っているのか根本的になにか間違えているのかわかりません。こちらもアドバイス頂けると助かります。フォーマットテンプレートのphpの所にはチェックを入れています。

    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • tonoro

    (@tonoro)

    >man56さん、こんばんは。

    「type=file」を設定した項目をget_post_meta()の戻り値は、数値(アタッチ
    メント情報のID)ですが、「type=textarea」のget_post_meta()の戻り値は、
    HTMLタグになってるはずです。
    wp_get_attachment_imageの最初の引数は整数である必要があるので、空白に
    なっているのだと思います。

    「type = textarea」を使うのであれば、get_post_meta()の戻り値の
    <img>タグ内から画像のURLを抽出した後、再度imgタグや必要な属性と連結
    してやる必要があります。

    トピック投稿者 man56

    (@man56)

    tonoroさま

    取り急ぎお礼を。
    初心者には難しい内容ですのでとりあえずアドバイスの内容をしっかり考えてみます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「Custom Field Template で出力する画像にclassを指定したい」には新たに返信することはできません。