Получить изображение из таксономии термин с помощью ACF

Я использую приведенный ниже код, чтобы попытаться получить поле изображения под названием "изображение"из термина таксономии с помощью плагина Advanced Custom Fields. Этот код основан на документации по веб-сайт ACF здесь.

следует отметить, что этот код используется в таксономии.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

2 ответов


Ok, поэтому вы получаете значение поля, вам просто нужно установить, как оно должно выводиться, например:

$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']" />';

таксономии.php-это шаблон для пользовательской таксономии, основанный на той же модели архивов.РНР В этом виде шаблона, вы должны использовать WordPress loop

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

их, вы можете передать в get_field, идентификатор сообщения, как это 2-й параметр:

$image = get_field('image', $post->ID);