#php #wordpress
#php #wordpress
Вопрос:
Я просмотрел этот пост и скопировал некоторый код, который немного помог (страница больше не полностью пуста)
Я пытаюсь получить два URL-адреса: URL-адрес полноразмерного изображения и уменьшенную версию
Из каждого сообщения с определенным «полем» из созданной мной пользовательской таксономии (я создал таксономию «art-type», и есть 3 варианта: рисование, печать и цифровой)
Это код, который я написал до сих пор:
<?php
$args = array(
'post_type' => 'art-piece', /* custom post type */
'taxonomy' => 'art-type', /* custom taxonomy */
'field' => 'slug',
'terms' => array('digital')
);
$gallery = get_posts ($args);
?>
<div class="zoom-gallery">
<div class="gallery-item">
<?php if (has_post_thumbnail( $post->ID ) ): ?>
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />
<?php endif; ?>
</div>
</div>
Из того, что я вижу, в цикле нет ничего, что использовало бы какие-либо из указанных мной аргументов $. Теоретически это должно захватывать все избранные изображения независимо от типа сообщения, таксономии и т. Д., Но они мне вообще не подходят. Страница просто полностью пуста
Ответ №1:
Мне кажется, что вы не просматриваете результаты вызова get_posts(). Попробуйте изменить код, чтобы он соответствовал обновленному коду, который я опубликовал ниже.
Что он делает, так это перебирает каждое «сообщение», хранящееся в $gallery
переменной.
Приносим извинения за то, что у вас недостаточно времени для более подробного объяснения, однако я вернусь и расскажу подробнее, если это сработает для вас.
<?php
$args = array(
'post_type' => 'art-piece', /* custom post type */
'tax_query' => array(
array(
'taxonomy' => 'art-type', /* custom taxonomy */
'field' => 'slug',
'terms' => array('digital')
),
),
);
$gallery = get_posts($args); // removed space between function name and opening bracket
foreach ( $gallery as $post ) : setup_postdata( $post ); // added this loop
?>
<div class="zoom-gallery">
<div class="gallery-item">
<?php if (has_post_thumbnail( $post->ID ) ): ?>
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
<img src="<?php echo $url ?>" />
<?php endif; ?>
</div>
</div>
<?php endforeach; // ending the loop
wp_reset_postdata(); // reset $post so we don't interfere with the main WP_Query
?>
Комментарии:
1. Да! Это сработало отлично. Я добавил еще одну строку, потому что мне нужно, чтобы захватить большую версию изображения так же я добавил <?php $largeurl = wp_get_attachment_url( get_post_thumbnail_id($post->Удостоверение личности), ‘полный’ ); ?> чтобы захватить большие изображения, и каждая вещь хорошо
2. Мой друг также обнаружил ошибку в аргументах $, которые я должен был написать ‘tax_query’, а затем поместить ‘taxonomy’ => ‘art-type’, /* пользовательская таксономия */ ‘field’ => ‘slug’, ‘terms’ => array (‘digital’) вмассив