Я не могу заставить этот популярный почтовый код правильно выводиться, и вместо этого я продолжаю получать неверные аргументы на моем foreach, которые должны просто получать информацию из массива и отображать популярные сообщения. Однако я не совсем уверен, почему его foreach l oop недопустим, поскольку у меня есть аналогичная настройка для отображения последних сообщений.
Вот код для популярных сообщений:
<?php
$popular_post_args = array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'posts_per_page' => 10,
'date_query' => array(
array(
'after' => '1 week ago',
),
),
);
foreach( $popular_posts_args as $p ){
?>
<div class="paddingarea text-dark">
<div class="the-image" style="margin-top: -20px;">
<a href="<?php echo get_permalink($p['ID']) ?>"><img src="<?php echo get_the_post_thumbnail_url($p['ID'], array(440, 240)); ?>"/></a>
</div>
<a class="posttitle" href="<?php echo get_permalink($p['ID']) ?>" style="font-weight: 600; font-size: 16px;"><span href="#" class="badge badge-primary" style="border-radius: 0;"><?php
foreach(get_the_category($p['ID']) as $category) {
echo $category->name;
}
?></span>
<?php echo $p['post_title']?></a><br />
</div>
<?php
$authorname = get_the_author();
echo '<p class="authortext">From ' . '<strong class="colorauthor">' . $authorname . '</strong>' . '</p>';
?>
<?php
}
?>
и вот код для моих недавних постов:
<?php
$result = wp_get_recent_posts(array(
'numberposts' => 10,
'category' => '',
'post_status' => 'publish',
));
foreach( $result as $p ){
?>
<div class="paddingarea text-dark">
<div class="the-image" style="margin-top: -20px;">
<a href="<?php echo get_permalink($p['ID']) ?>"><img src="<?php echo get_the_post_thumbnail_url($p['ID'], array(440, 240)); ?>"/></a>
</div>
<a class="posttitle" href="<?php echo get_permalink($p['ID']) ?>" style="font-weight: 600; font-size: 16px;"><span href="#" class="badge badge-primary" style="border-radius: 0;"><?php
foreach(get_the_category($p['ID']) as $category) {
echo $category->name;
}
?></span>
<?php echo $p['post_title']?></a><br />
</div>
<?php
$authorname = get_the_author();
echo '<p class="authortext">From ' . '<strong class="colorauthor">' . $authorname . '</strong>' . '</p>';
?>
<?php
}
?>
Как вы можете видеть, это в основном тот же код, но просто переназначенный для отображения популярных постов, однако ничего не отображается, а верхняя часть кода просто выдает незваных foreach l oop ошибок. Так что я не уверен, почему он их дает, потому что это не тот же самый запрос, который получает массив?