Категории — Изображение Настраиваемого Поля Вместо Миниатюры Сообщения На Странице Категории.

  • Автор темы Ndbpijqtmgb
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь изменить тему, чтобы она работала с моими настраиваемыми полями (я использую ACF для большинства данных, размещаемых на страницах) для сайта с текстами песен.

 
 echo 

Исходный код был таким: $metro_creativex_posttitle = get_the_title(); $metro_creativex_feat_image = wp_get_attachment_image_src( $post->ID, get_field('sd_single_img'), 'single-post-thumbnail' ); if(isset($metro_creativex_feat_image[0])): echo '<div class="img">'.get_the_post_thumbnail().'</div>'; endif; that shows the posts in categories pages. Now, since my posts don't have any featured images but only one or two images via custom fields, my first intent is to replace the 'custom thumbnail' with the single cover art, so first thing first I replaced the get_field Это часть get_post_thumbnail , and it at least seems to detect whenever a song has or not a single cover picture:

content.php

с $metro_creativex_posttitle = get_the_title(); $metro_creativex_feat_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); if(isset($metro_creativex_feat_image[0])): echo '<div class="img">'.get_the_post_thumbnail().'</div>'; endif; to make it show the actual image and not only a blank space above the song title on the category menu: Моя главная проблема сейчас в том, что я не могу понять, что мне нужно записать на

Ссылка на мою страницу

Как я могу это исправить?

Ndbpijqtmgb


Рег
21 Apr, 2011

Тем
83

Постов
173

Баллов
648
  • 25, Oct 2024
  • #2

Я думаю, вы используете URL-адрес изображения в своем настраиваемом поле.

 
 $img_scr = get_field('sd_single_img', $post_id);
$img_scr_url = wp_get_attachment_url(get_field('sd_single_img', $post_id));
if( !empty( $img_scr ) ) {
echo '<div class="img"><img src="' . $img_scr_url . '" /></div>'; 
 

Обновлено в соответствии с комментарием ОП.

 

Лев Камушкин


Рег
21 Oct, 2020

Тем
55

Постов
208

Баллов
493
  • 25, Oct 2024
  • #3

Я уверен, что это лучший способ сделать это, но благодаря Максу я нашел этот:

$metro_creativex_posttitle = get_the_title(); // Not used in this snippet /* // you don't need this block $metro_creativex_feat_image = wp_get_attachment_image_src( $post->ID, get_field('sd_single_img'), 'single-post-thumbnail' ); */ // you'll need `$post_id` for each song $img_src = get_field('sd_single_img', $post_id); if( !empty( $img_src ) ) { // echo if custom field is not empty echo '<div class="img"><img src="//thenewblackgold.netsons.org/wp/category/songs/level-5/' . $img_src . '" /></div>'; }

Поскольку он вернул идентификатор, мне пришлось добавить другую переменную, которая преобразует идентификатор в URL-адрес, и теперь это работает как чудо;)

 

Jokermaster


Рег
26 Apr, 2006

Тем
47

Постов
198

Баллов
463
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно