自定义POST类型循环错误:尝试获取非对象的属性

时间:2017-09-23 作者:Sameer Ali

我使用的一个插件为文章创建了一个自定义帖子类型,即“ht\\U kb”。

在我的主题首页中,我有一个自定义循环,显示标准“post”类型的最新帖子。在同一个首页上,我有另一个自定义循环,显示插件自定义“ht\\U kb”帖子类型的最新帖子。标准post类型循环按预期工作,但对于自定义post类型循环,我得到的错误如下所示。

我很难理解这个错误的原因,如果有人能解释我做错了什么,以及通过自定义帖子类型循环的正确方式是什么,我将不胜感激。

下面的循环与标准的“post”类型配合得很好。

//The Query
$post_args = array(
\'post_type\' => array(\'post\'),
\'posts_per_page\' => 4
);

$post_query = new WP_Query($post_args);

// The Loop
if ($post_query->have_posts()) {

while ($post_query->have_posts()) {

    $post_query->the_post();
    the_title();
    the_category();
    the_date();
    the_author();
    the_excerpt();
}

//reset loop

wp_reset_postdata();

}

?>
下面的自定义post类型循环返回错误:

注意:试图在C:\\localhost\\mywebsite\\wp->includes\\template中获取非对象的属性。php在线679

注意:试图在C:\\localhost\\mywebsite\\wp->includes\\template中获取非对象的属性。php在线679

自定义帖子类型的循环

<?php

// The Query
$article_args = array(
\'post_type\' => array(\'ht_kb\'),
\'posts_per_page\' => 4
);

$article_query = new WP_Query($article_args);

// The Loop
if ($article_query->have_posts()) {

while ($article_query->have_posts()) {

    $article_query->the_post();
    the_title();
    the_category();
    the_date();
    the_author();
    the_excerpt();
}

//reset loop

wp_reset_postdata();
}
?>
注意:如果我注释掉了\\u摘录();函数时,循环不会显示错误,并且(某种程度上)按预期工作,尽管其他问题,例如,\\u category()函数不会返回任何值。

感谢您的时间和帮助。

1 个回复
SO网友:Michael

嘿,这可能有点太晚了,但我的定制主题也有同样的问题。

首先,我没有创建任何自定义帖子,其次,使用循环,因为没有帖子,我的主题中没有内容无文件。

一旦添加了get\\u template\\u部分(“内容部分/内容”,“无”);代码错误消失了。

希望这对其他人有帮助:)

结束

相关推荐

回应最新的Sticky Post in Loop?

我希望在内容循环中回应最新的帖子。只有1个帖子。我是否需要在以下代码中添加某种参数:if (have_posts()) : while (have_posts()) : the_post(); the_content(); endwhile; endif; 我该怎么做?