php
  • wordpress
  • 2017-10-14 20 views 0 likes 
    0

    ライトボックスで画像を開くカスタム画像ギャラリーショートコードを作成しています。画像を出力する行は次のとおりです。WordPressカスタム画像ギャラリーをカスタム画像サイズにリンクする

    $image_output = "<a href='" . wp_get_attachment_url($id) . "' data-toggle='lightbox' data-gallery='$selector' data-footer='$attachment->post_excerpt'> " . wp_get_attachment_image($id, $atts['size'], false, $attr) . "</a>"; 
    

    すべての機能は、元の(そしてフルサイズの)画像へのこのリンクを除いて素晴らしいです。代わりにカスタム画像サイズにリンクしたいと思っています。私はwp_get_attachment_url($id)wp_get_attachment_image_src($id, 'gallery-thumbnail', false)を試しました。

    しかし、希望の画像URLを取得する代わりに、私はArrayを取得します。私が間違っていることは何ですか?何か他のものを使用しているはずですか?

    答えて

    1

    wp_get_attachment_image_src()アレイ(URL、幅、高さ)を返すように

    wp_get_attachment_image_src(...)[0] 
    
    +0

    'wp_get_attachment_image_src($番号)[0]'私にサムネイルを与えるが、どのように私は 'ギャラリーthumbnail'カスタムイメージのサイズを得るのですか? –

    +0

    wp_get_attachment_image_src($ id、 'gallery-thumbnail')[0] – B68C

    +0

    他のパラメータを忘れてしまいました。それはうまくいった。ありがとう! –

    1

    wp_get_attachment_image_srcを使用することは、パラメータとしてpost_idのと必要なサイズをとり、そして含む配列を返す:

    [0] = URL
    [1] =
    幅[2] =高
    [3] = is_intermediate(すなわち、リサイズ画像または元であるか否か)

    したがってgallery-thumbnailというカスタムサイズのURLを取得するには、次の操作を行う必要があります

    $img_attrib = wp_get_attachment_image_src($id, 'gallery-thumbnail'); 
    if ($img_attrib) 
        $url = $img_attrib[0]; 
    $image_output = "<a href='".$url."' [...rest of code...] </a>"; 
    

    私はそれがステップバイステップであなたは何が起こっているかを見ることができるようにやっていますが、もちろん短縮することができますこれは以下のようになります。しかし、画像が見つからない場合、リンクが壊れてしまいます。

    <a href='".wp_get_attachment_image_src($id, 'gallery-thumbnail')[0]."' [...rest of code...] </a>" 
    

    注:これは、あなたがadd_image_sizeを使用してのfunctions.phpでカスタムサイズを定義していると仮定し、すべてのイメージのバージョンが作成されているように、あなたのサムネイルを再生します。

    参考:Developer Reference for wp_get_attachment_image_src

    +0

    あなたの徹底的な答えをありがとうが、@ B68Cはあなたにそれを打ち負かす。私はあなたのフォールバックが好きです! –

    +0

    @TroyTemplemanええ、私はあなたの質問を見ましたが、私は終了する前にオフラインに行きたいとB68Cは私が終わりに戻ったときに答えていた。カスタムサイズがデフォルトサイズをフォールバックとして使用することをお勧めします。ここには完全実装は含まれていませんが、あなたはそのアイデアを得ています。とにかく答えが見つかったらうれしいよ:) – FluffyKitten

    関連する問題