在自定义POST类型存档页面上访问$POST GLOBAL

时间:2015-10-14 作者:any_h

我有一个名为“项目”的自定义帖子类型,其存档位于/projects, 在存档页上,我收到通知Notice: Trying to get property of non-object 每次我尝试访问$post i、 e。$post->post_name. 这是故意的行为吗?我是否应该接受这一点,并始终检查$post 在使用之前?

if (!empty($post)) {
    // Do something with $post
}

2 个回复
SO网友:Fiaz Husyn

在存档页顶部输入以下行:

global $post;
问题是,在尝试使用全局$post对象之前,您需要访问它。

SO网友:maddog

您正在尝试获取数组值,因此会出现错误。尝试使用WP\\U查询,如:

global $post;        
$projects = array(
    \'post_type\'   => \'projects\',
    \'orderby\'     => \'date\',
    \'order\'       => \'DESC\',
    \'post_status\' => \'publish\'
);
$projects1= new WP_Query( $projects );          
if ( $projects1->have_posts() ) : 
    while ( $projects1->have_posts() ) : 
        $projects1->the_post();
        echo $post->post_name;
    endwhile; 
endif;