我有以下函数,我创建了它 . ) . 然后它将这些作为一个数组返回,然后我用它来填充自定义元字段中的select标签以获得第二个自定义帖子类型 .
基本上,'fsmodel'将有船模型的帖子,'fsboat'帖子类型将有一个下拉列表,其中包含每个模型的名称可供选择 .
现在,这似乎在仪表板中正常工作 - 下拉列表按预期填充 . 但是,当我保存时,帖子不会显示在“编辑”列表中 . 同样在网站上,当此功能处于活动状态时,所有页面都将作为404错误页面输出 .
我确定问题出在以下代码中 - 有没有人知道我可能做错了什么?
function fs_model_array() {
$models_array = array();
$loop = new WP_Query(array(
'post_type' => 'fsmodel',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
'post_status' => 'publish'
));
while ( $loop->have_posts() ) : $loop->the_post();
$models_array[] = get_the_title();
endwhile;
return $models_array;
};
4 回答
问题是你在一个陌生的地方或已经有一个循环的地方调用wordpress循环)?
http://codex.wordpress.org/The_Loop
好的,我想出了一个解决方案(我希望 - 它现在正在坚持) .
我没有创建循环,而是使用$ wpdb-> get_results在数据库中搜索具有自定义帖子类型的WHERE过滤器的列 .
然后运行一个数组构建器:
再次感谢您的时间,hsatterwhite! :-)
我喜欢你的解决方案,但我倾向于说你需要在函数中使用这样的循环时调用
$post
的全局变量,因为它将它分配给该变量 .我想你可能会发现在你的函数结尾添加
wp_reset_query()
将解决你的问题:)