サポート » 使い方全般 » アドバンスドカスタムフィールドのGalleryアドオン

  • 解決済 iguigu

    (@iguigu)


    投稿にアドバンスドカスタムフィールドのGalleryアドオンを使っています。
    http://www.advancedcustomfields.com/add-ons/gallery-field/

    ・サムネイルとリンク先の画像は別の画像です。
    ・リンク先画像のファイル名はサムネイルの画像の語尾に「b」と付けているだけです。
     例;サムネ 001.jpg, リンク先 001b.jpg

    理想はサムネのファイル名のみ取得して
    <a href="http://cin-cia.jp/wp/wp-content/uploads/<?php ?>b.jpg" ></a>
    見たいなリンクの貼り方をしたいのですが、現状やり方がわからず、キャプションを使って下記の様にやってます。
    うまく理想通りにやる方法をご教授いただけないでしょうか?
    よろしくお願いします。

    <?php if ( have_posts() ) : ?>
    <ul class="clear">
    <?php /* Start the Loop */ ?>
    <?php while(have_posts()) : the_post(); ?>
    	<?php $images = get_field('art_sample'); if( $images ): ?>
    			<?php foreach( $images as $image ): ?>
    
    <li><a>" class="over" data-title="<?php echo $image['title']; ?>"  data-lightbox="artsample" ><img src="<?php echo $image['sizes']['nail_tip']; ?>" alt="<?php echo $image['alt']; ?>" /></a></li>
    			<?php endforeach; ?>
    	<?php endif;?>
    <?php endwhile; ?>
    
    <?php else : ?>
    	<?php get_template_part( 'no-results', 'index' ); ?>
    <?php endif; ?>

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんにちわ、iguiguさん。

    実現方法としては、PHP の preg_replace 関数で書き換えを行うのが一番簡単な気がします。
    手元に、Gallery add-on があったのでちょっとやってみました。

    $images = get_field( 'gallery' );
    foreach ($images as $img) {
    	$tumb = preg_replace( '/\A(.*?)(\.jpg$|\.jpeg$|\.png$|\.gif$)\z/', '$1b$2', $img['url'] );
    	echo '<li><a class="cver" href="' . esc_url( $img['url'] ) . '" data-title="' . esc_attr( $img['title'] ) . '" data-lightbox="gallery"><img src="' . esc_url( $tumb ) . '" alt="' .  esc_attr( $img['title'] ) . '"></a></li>';
    }

    正規表現の部分は怪しいというか…自信がないので、書き換えるなりしていただけたら幸いです。
    各変数のパラメーターも iguiguさんの環境に合わせて書き換えてご利用ください。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「アドバンスドカスタムフィールドのGalleryアドオン」には新たに返信することはできません。