我正在尝试添加一个下拉列表的所有帖子到一个主题管理部分。。。无需叉起主题代码。
我需要将帖子标题和id传递到“options”=>array()中,如下所示:
\'getting-started-link-id\'=>array(
\'title\'=>\'LINK GETTING STARTED TO:\',
\'name\'=>\'page-option-item-getting-started-link-id\',
\'options\'=>array(\'54\'=>\'Post #1\',\'23\'=>\'Post #2\', \'654\'=>\'Post #3\',)
\'type\'=>\'combobox\'
),
我编写了一个函数,用于获取所有帖子的ID和名称,并将其转换为字符串:
function post_page_options(){
$post_page_options = get_posts(\'category=orderby=title&order=asc&numberposts=\');
foreach( $post_page_options as $value ) :
$str .= "\'$value->ID\'" . "=>\'" . $value->post_title . "\', ";
endforeach;
return $str;
}
$str
返回以下内容:
“54”=>“Post#1”,“23”=>“Post#2”,“654”=>“Post#3”,
我试过这个,但不起作用:
\'options\'=>array( post_page_options() )
我尝试将$str转换为数组(),但数组的格式与$str中的格式不同。
不知何故,将$str的结果添加到“选项”=>中似乎是easist的方法,因此主题管理代码将执行它已经编写好的操作,即使用“选项”=>数组并将其转换为下拉列表。
最合适的回答,由SO网友:s_ha_dum 整理而成
这
array(\'54\'=>\'Post #1\',\'23\'=>\'Post #2\', \'654\'=>\'Post #3\',)
。。。是
not 字符串。这是一个数组定义。
您只需创建一个所需的数组,然后完全跳过字符串。
function post_page_options(){
$post_page_options = get_posts(\'category=orderby=title&order=asc&numberposts=\');
foreach( $post_page_options as $value ) :
$str[$value->ID] = $value->post_title;
endforeach;
return $str;
}