Come ottenere un campo immagine personalizzato da un ID post specifico
Ho una pagina dove sto estraendo contenuti da un altro post, al di fuori del loop.
Sono riuscito a ottenere il contenuto del post specificato, ma non riesco a ottenere l'immagine da un campo personalizzato (advanced custom image field).
Questo funziona per ottenere il contenuto dal post con ID 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>
Questo è quello che sto provando per ottenere l'immagine dal post con ID 299 (se esiste):
$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;
Sono sicuro che devo modificare alcune di queste variabili per ottenere il campo immagine dall'ID del post specifico, simile a come viene fatto per ottenere il contenuto, ma a questo punto sono confuso su come farlo per un campo personalizzato...

vedi la documentazione per get_field
. modifica:
$attachment_id = get_field('image');
per passare l'ID del post come secondo argomento:
$attachment_id = get_field('image', 299);
oppure:
$attachment_id = get_field('image', $my_id);

Grazie per la risposta Milo, purtroppo non funziona - non restituisce nulla.

il tuo campo è impostato per restituire l'ID dell'immagine, e non un oggetto immagine o un array di qualche tipo?

Penso che tu stia usando il tuo codice per mostrare titolo e alt sull'immagine del post, allora provalo.
$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'
)
);
Produrrà
<img src="your_image_path.jpg" alt="post_title" title="post_title" class="my_post_img_class" />
oppure usa questa funzione qui sotto per ottenere il campo personalizzato del post get_post_field('post_content', $my_id);
