正在尝试获取非对象和未定义索引的属性"ID":访问数组时的 ID



我有下面的代码,我必须得到使用帖子标题的帖子id。

$atts['speakersname']='abc,xyz,prq'; // post title 
$getspeakertitle=explode( ',', $atts['speakersname']);
$speakerpostid[]='';
foreach ($getspeakertitle as $key => $value) {
$speakerpostid[] = get_page_by_title( $value, OBJECT, 'speaker' );
} 
echo"<pre>";
print_r($speakerpostid); 
print_r($speakerpostid->ID);
print_r($speakerpostid['ID']);
print_r($speakerpostid[0]['ID']); 

我已经试过了,我得到一个错误

print_r($speakerpostid->ID);

注意:尝试获取

中非对象的属性'ID'
print_r($speakerpostid['ID']);

注意:未定义索引:ID在

尝试下面的代码,它也显示第一个id值

print_r($speakerpostid[0]['ID']);
我必须将ID传递给下面的代码
$s_post = get_posts(array(
'showposts' => 10, 
'post_type' => 'speaker',
'post_status'  => 'publish',
'post__in'  => array('34'), // I have to pass id here to get all the details
)
);

你知道我哪里做错了吗

试试这个:

您将在$speakerpostid数组中获得整个post对象。您只需要存储post id。

$atts['speakersname'] = 'abc,xyz,prq'; // post title
$getspeakertitle = explode(',', $atts['speakersname']);
$speakerpostid = array();
foreach ($getspeakertitle as $value) {
$page_obj = get_page_by_title($value, OBJECT, 'speaker');
$speakerpostid[] = $page_obj->ID;
}
echo "<pre>";
print_r($speakerpostid);

最新更新