web-dev-qa-db-ja.com

ACFを使用して分類用語から画像を取得する

以下のコードを使用して、高度なカスタムフィールドプラグインを使用して、分類用語から 'image'という画像フィールドを取得します。このコードは ACFウェブサイトはこちら のドキュメントに基づいています。

このコードは、taxonomy.phpテンプレート内で使用されています。ユーザーとクリックしたページに基づいて、現在の分類法と用語を検出するためのコードが必要なため、特定の分類法と用語を指定できません。に。

どんな助けも大歓迎です!

<?php get_header(); ?>
<?php get_sidebar(); ?>

<section id="hero-image">
    <div class="gradient-overlay">
        <?php 
        // vars
        $queried_object = get_queried_object(); 
        $taxonomy = $queried_object->taxonomy;
        $term_id = $queried_object->term_id;  

        // load thumbnail for this taxonomy term (term object)
        $image = get_field('image', $queried_object);

        // load thumbnail for this taxonomy term (term string)
        $image = get_field('image', $taxonomy . '_' . $term_id);
        ?>
    </div>
    <div class="grid">
        <header class="unit full-width">
            <a href="<?php echo home_url(); ?>/" title="Kurdistan Memory Programme" class="logo"><?php bloginfo( 'name' ); ?></a>
        </header>
        <footer class="unit one-half">
            <h1><?php single_cat_title(); ?></h1>
            <h4 class="scroll-down">Scroll down to continue</h4>
        </footer>
    </div>
</section>

<?php get_footer(); ?>

enter image description here

14
dungey_140

では、フィールドの値を取得しています。次のように、フィールドの出力方法を設定するだけです。

$image = get_field('image', $taxonomy . '_' . $term_id);
echo '<img src="'.$image['sizes']['thumbnail'].'" alt="$image['alt']" />';

これは、サムネイル画像のサイズを使用することを前提としています。別のサイズを使用している場合は、そのテキストを適切な画像サイズに変更します。

フルサイズの画像を返す場合は、次のコードを使用します。

$image = get_field('image', $taxonomy . '_' . $term_id);
echo '<img src="'.$image['url'].'" alt="$image['alt']" />';
14
Joe