Как получить произвольное поле изображения для конкретного ID записи
У меня есть страница, на которой я вывожу контент из другой записи, вне основного цикла.
Мне удалось успешно получить контент указанной записи, но я не могу получить изображение из произвольного поля (advanced custom image field).
Этот код работает для получения контента записи с 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>
А вот что я пытаюсь сделать, чтобы получить изображение из записи с ID 299 (если оно существует):
$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;
Я уверен, что мне нужно изменить некоторые переменные, чтобы получить поле изображения для конкретного ID записи, аналогично тому, как это сделано для получения контента, но сейчас я запутался, как это сделать для произвольного поля...

см. документацию для get_field
. измените:
$attachment_id = get_field('image');
чтобы передать ID записи в качестве второго аргумента:
$attachment_id = get_field('image', 299);
или:
$attachment_id = get_field('image', $my_id);

Спасибо за ответ, Мило, к сожалению, это не работает - ничего не возвращается.

Твое поле настроено на возвращение ID изображения, а не объекта изображения или какого-либо массива?

Думаю, ты используешь свой код для отображения заголовка и альтернативного текста у изображения записи, тогда попробуй это.
$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'
)
);
Это выведет
<img src="your_image_path.jpg" alt="post_title" title="post_title" class="my_post_img_class" />
Или используй эту функцию ниже для получения пользовательского поля записи get_post_field('post_content', $my_id);
