我在本地服务器上遇到了这个问题。问题不在于jetpack插件,因为我已经将其删除了
C:\xampp\htdocs\theme\wp-includes\post-template.php on line 284
Warning: count(): Parameter must be an array or an object that implements Countable in post-template.php on line 284
请有人帮我解决这个问题。
答案 0 :(得分:4)
是否将the_content()放入循环
在这里尝试:
if (have_posts()) {
while (have_posts()) {
the_post();
?>
<article class="post">
<h3><?php the_title(); ?></h3>
<p><?php the_content(); ?></p>
</article>
<?php
} // end while
} // end if
?>
答案 1 :(得分:0)
可能是由于在The Loop之外使用get_the_excerpt,get_the_content或类似功能(在自定义上下文中,在主题的functions.php中的某个位置)引起的。
之前添加 setup_postdata 。这将填充全局变量$ pages。否则,PHP7.2 +将在第284行的post-template.php中输出警告。
例如:
global $post;
setup_postdata($post);
$excerpt = get_the_excerpt($post);
答案 2 :(得分:0)
此问题是由于在PHP 7.2+中使用the_content或get_the_content而引起的,因为这些函数对全局页进行了检查,该页可以为null。 在7.2中,null不是可计数的有效值,这是引发错误的一个工作环境,该错误是直接从meta字段中提取内容。下面的代码可在我制作的https://www.youtube.com/watch?v=vMguTNzFoUk这段视频中找到更多信息(TLDR部分位于视频的中间,我猜这是其中一个片段的说明)
apply_filters('the_content', get_post_field('post_content', $post->id));