Сейчас я нахожусь по этому URL:
http://myproject.test/category/learn/
Теперь я хочу показать первые 4 сообщения с таким же дизайном, но последнее сообщение эти 4 поста будут тем постом, мета-ключ которого равен спонсорскому_посту, а мета-значение равно 1
, а остальные посты будут другим дизайном.
Итак, в категрии. php страница У меня есть этот код:
<?php
if( have_posts() ) {
$counter = 1;
echo '<div class="row">';
while( have_posts() ) {
the_post();
if( $counter <= 3 ) {
echo '<div class="col-md-6">';
get_template_part( 'loop-templates/content', 'category-box-post');
echo '</div>';
} elseif( $counter == 4 ) {
echo '<div class="col-md-6">';
get_template_part( 'template-parts/category-archive-sponsored-post' );
echo '</div>';
} else {
echo '<div class="col-md-12">';
get_template_part( 'loop-templates/content', 'category-horizental-post');
echo '</div>';
}
$counter++;
}
echo '</div>';
} else {
_e( 'No post found!', 'everstrap' );
}
?>
Теперь вы можете увидеть эту строку:
get_template_part( 'template-parts/category-archive-sponsored-post' );
Он считает номер 4, и в этом посте с 4-м номером я хочу показать сообщение с мета-ключом / значением;
Итак, пост категории-архива-спонсора. php код
$args = array(
'posts_per_page' => 1,
'orderby' => 'publish_date',
'tax_query' => array(
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array(
$queried_object->slug
)
)
),
'meta_query' => array(
array(
'key' => 'sponsored_post',
'value' => '1',
'compare' => '=',
)
)
);
$posts = get_posts( $args );
if( $posts ) {
foreach ( $posts as $post ) {
setup_postdata( $post );
the_title();
}
wp_reset_postdata();
}
Но я получил сообщение об ошибке, похожее на это:
Notice
: Undefined offset: 4 in
C:\laragon\www\my-project\wp-includes\class-wp-query.php
on line
3275
Я думаю, что-то не так в 4-м пост-запросе? Есть ли решение?