更改此项:
<?php
$all_posts = get_posts(array(\'numberposts\' => -1));
$total_posts = count($all_posts);
$posts_per_column = intval($total_posts / 3);
$count = 0;
$col = 1;
foreach($all_posts as $post):
?>
对此:
<?php
$all_posts = new WP_Query(array(\'posts_per_page\' => -1));
$total_posts = $all_posts->found_posts;
$posts_per_column = intval($total_posts / 3);
$count = 0;
$col = 1;
if($all_posts->have_posts()):
while($all_posts->have_posts()):
$all_posts->the_post();
?>
最后,你有一个终点。将其移除并放置:
<?php
endwhile;
endif;
wp_reset_postdata();
?>
这是正确的方法(在我看来),因此您不能像在您的案例中那样使用$post变量来访问bug。在您的情况下,看起来您刚刚覆盖了全局$post变量-我想知道您的一些“the\\”标记是如何工作的,而一些没有。