2015-12-10 16 views
7

Korzystam z poniższego kodu, aby wypróbować pole obrazu o nazwie "obraz" z terminu taksonomii za pomocą wtyczki Zaawansowane niestandardowe pola. Ten kod jest oparty na dokumentacji na ACF website here.Pobierz obraz z kategorii taksonomii za pomocą ACF

Należy zauważyć, że ten kod jest używany w szablonie taxonomy.php i nie mogę podać konkretnej taksonomii i/lub warunków, ponieważ potrzebuję kodu do wykrycia aktualnej taksonomii i terminu, na podstawie strony użytkownik i kliknął w.

Każda pomoc doceniona!

<?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

+0

Czy pole ACF ustawić do taksonomii właściwie i dzwonisz poprawną nazwę pola w kodzie? Dostarczyłeś kod z przykładu w dokumentacji ACF, ale żaden z twojego kodu produkcyjnego. Jeśli to możliwe, zrób zrzut ekranu ustawień ACF dla tego pola taksonomii. – Plummer

+0

Twój drugi $ image "$ image = get_field ('image', $ taxonomy. '_'. $ Term_id);" powinien działać, aby pobrać wartość pola niestandardowego terminu taksonomii. Co obecnie wraca? Jaka jest twoja wartość zwracana dla pola niestandardowego? – Joe

+0

Witam @Plummer, zaktualizowałem moje pytanie, aby dołączyć pełny kod z pliku taxonomy.php i zrzut ekranu ustawień ACF –

Odpowiedz

8

Ok, więc otrzymujesz wartość pola, wystarczy ustawić w jaki sposób powinna wyjścia, tak jak poniżej:

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

ta zakłada, że ​​chcesz użyć rozmiaru miniatury. Jeśli używasz innego rozmiaru, zmień ten tekst na odpowiedni rozmiar obrazu.

Jeśli chcesz wrócić w pełnym rozmiarze, należy użyć następującego kodu:

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

Hi @Joe - Próbuję zmienić z "thumbnail" na "full" dla rozmiaru obrazu, ale kiedy to zrobię, kod nie działa. Działa jednak w ustawieniach "dużych" i "średnich". Jakieś pomysły? –

+0

Zmień kod na następujący: echo ''; powinno zwrócić pełny rozmiar adresu URL. – Joe

+0

Doskonale, dzięki! –

-1

taxonomy.php jest szablonem dla niestandardowego taksonomii opartej na tym samym modelu archives.php w tego rodzaju szablon, należy użyć wordpress pętlę

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

Im, możesz przekazać w get_field, identyfikator postu taki jak 2. parametr:

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

Sprawdź źródło odniesienia z ACF. Ustawiają pole do taksonomii, a następnie próbują odzyskać tę wartość. Poza tym, na osobną uwagę, nie przesłałem ci odpowiedzi, ktoś inny to zrobił, ponieważ na tym właśnie myślałem, że OP również z początku prosił. – Plummer

+0

$ image = get_field ('image', $ queried_object); powinien zwrócić tablicę. make a var_dump to – Bipbip

Powiązane problemy