Как исключить пост избранные изображения из l oop? - PullRequest
0 голосов
/ 23 января 2020

В моем блоге каждое сообщение содержит 2 изображения: рекомендуемое изображение + другое прикрепленное изображение.

В настоящее время я называю рекомендуемое изображение следующим кодом:

echo get_the_post_thumbnail_url();

И затем с помощью следующий, чтобы попытаться получить другое изображение вложения:

$images = get_attached_media('image' );
$image = reset($images );

$ximage =  wp_get_attachment_image_src($image->ID,'medium');
echo '' .$ximage[0] . '';

Проблема в том, что второй код, кажется, получает а) рекомендуемое изображение или б) другое изображение вложения случайным образом.

Я хотел бы отредактировать второй код, настроив его так, чтобы он игнорировал выбранное изображение, чтобы оно всегда отображало другое изображение вложения во всех сообщениях.

Что-то вроде:

exclude="' . get_post_thumbnail_id( $post->ID ) . '";

Возможно ли это?

В качестве альтернативы, можно ли указать второй код, чтобы получить самое последнее загруженное вложение?

1 Ответ

2 голосов
/ 23 января 2020

Это будет работать в следующих двух условиях:

1). Есть показанное изображение, и есть второе изображение.

2). Там нет показанного изображения, но другое изображение

Если у вас есть более одного изображения в содержании, этот код может потребоваться изменить для учета других изображений - однако, key($images) может просто захватить первый ключ, который он находит.

// Get all the images
$images = get_attached_media('image');

// Get the featured image
$featured_image_id = get_post_thumbnail_id();

// If there is a featured image
if ( has_post_thumbnail() ) {
    // Remove the featured image from the images array
    unset($images[ $featured_image_id ] );
}

// Set your ximage var to get the src using the key from the $images array - which is the 2nd image ID.
$ximage =  wp_get_attachment_image_src( key($images),'medium');

// Echo it out.
echo '<img src="' . $ximage[0] . '">';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...