Php с WordPress, как вызвать постоянные ссылки на два отдельных поста

Я встраиваю функцию недавних постов в сайт WordPress, у меня есть возможность вызывать два разных избранных изображения, но они оба ссылаются на один и тот же пост, может кто-нибудь увидеть, где я ошибаюсь?

<?php
$args = array(
'posts_per_page' => 2,
'order_by' => 'date',
'order' => 'desc'
);

$post = get_posts( $args );
if($post) {
$post_id = $post[0]->ID;
if(has_post_thumbnail($post_id)){
?>
<div class="grid_24">
<div class="grid_12">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php
echo get_the_post_thumbnail($page->ID, 'medium');
?>
</a>
</div>
<div class="grid_12">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php
echo get_the_post_thumbnail( $post_id,'medium');
?>
</a>
</div>

</div>
<?php

}
}
?>

1

Решение

ты можешь использовать echo get_the_permalink($post->ID) чтобы получить URI для сообщений

Похоже, в вашем случае вам понадобится

echo get_the_permalink($post[0]->ID);

а также

echo get_the_permalink($post[1]->ID);

в кратчайшие сроки

Однако вам, вероятно, лучше создать цикл foreach для просмотра сообщений из функции get_posts.

https://developer.wordpress.org/reference/functions/get_the_permalink/

https://developer.wordpress.org/reference/functions/get_posts/

1

Другие решения

Итак, во-первых, вы не зацикливаете сделанный запрос (например, $ posts = get_posts ($ args);), вы просто отображаете эскиз первого сообщения и эскиз текущей страницы.

Вы должны зациклить пост, как это:

<?php
$args = array(
'posts_per_page' => 2,
'order_by' => 'date',
'order' => 'desc'
);

$posts = get_posts( $args );
?>

<?php if ( !empty( $posts ) ) :?>
<div class="grid_24">
<?php foreach ( $posts as $post ) : ?>\
<?php if( has_post_thumbnail( $post->ID ) ) ?>
<div class="grid_12">
<a href="<?php echo esc_url( get_permalink( $post->ID ) ) ?>">
<?php echo get_the_post_thumbnail( $post->ID, 'size_here'); ?>
</a>
</div>
<?php endif; ?>
<?php endforeach?>
</div>
<?php endif;
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector