Cum să obții câmpul personalizat de imagine pentru un ID specific de postare
Am o pagină unde preiau conținut dintr-o altă postare, în afara buclei standard.
Am reușit să obțin conținutul postării specificate, dar nu pot obține imaginea dintr-un câmp personalizat (Advanced Custom Image Field).
Acest cod funcționează pentru a obține conținutul postării cu ID-ul 299:
$my_id = 299;
$post_id_299 = get_post($my_id);
$content_299 = $post_id_299->post_content;
$content_299 = apply_filters('the_content', $content_299);
$content_299 = str_replace(']]>', ']]>', $content_299);
$content_299_chars = 238;
$modcontent_299 = substr($content_299, 0, $content_299_chars);
<p><?php echo $modcontent_299; ?></p>
Iar acesta este codul pe care încerc să-l folosesc pentru a obține imaginea din postarea cu ID-ul 299 (dacă există):
$attachment_id = get_field('image', 299);
$size = 'full';
$image = wp_get_attachment_image_src( $attachment_id, $size );
if( get_field('image') ):
echo '<img src="' . $image[0] . '" alt="' . the_title() .'" width="238" height="158" />';
endif;
Sunt sigur că trebuie să modific unele dintre aceste variabile pentru a obține câmpul de imagine din postarea specifică, similar cu modul în care am obținut conținutul, dar sunt confuz în acest moment cum să fac asta pentru un câmp personalizat...

vezi documentația pentru get_field
. schimbă:
$attachment_id = get_field('image');
pentru a pasa ID-ul postului ca al doilea argument:
$attachment_id = get_field('image', 299);
sau:
$attachment_id = get_field('image', $my_id);

Mulțumesc pentru răspuns, Milo, din păcate asta nu funcționează - nu returnează nimic.

este câmpul tău setat să returneze ID-ul imaginii, și nu un obiect imagine sau un array de un fel?

cred că folosești codul tău pentru a afișa titlul și textul alternativ pe imaginea articolului, atunci încearcă asta.
$post_title = get_the_title($my_id);
echo get_the_post_thumbnail($my_id,
'full',
array(
'alt' => $post_title,
'title' => $post_title,
'class' => 'my_post_img_class'
)
);
va afișa
<img src="your_image_path.jpg" alt="post_title" title="post_title" class="my_post_img_class" />
sau folosește această funcție de mai jos pentru a obține câmpul personalizat al articolului get_post_field('post_content', $my_id);
