我已添加了使用本教程中使用的函数在woocommerce产品管理标签中选择自定义帖子类型的功能http://www.remicorson.com/mastering-woocommerce-products-custom-fields/
所以我添加了自定义字段
woocommerce_wp_select(
array(
'id' => '_circuit',
'label' => __( 'choose circuit', 'woocommerce' ),
'options' => get_circuits_as_array()
)
);
现在该功能看起来像这样
function get_circuits_as_array(){
$args = array( 'post_type' => 'top', 'posts_per_page' => -1, 'post_status'=>'published' );
$loop = new WP_Query( $args );
$circuits = array('0'=>'--wybierz opcję--');
while ( $loop->have_posts() ) : $loop->the_post();
setup_postdata( $post );
$circuits[get_the_id()] = get_the_title();
endwhile;
wp_reset_query();
return $circuits;
}
问题在于,在将代码上传到服务器时,此功能会中断变体窗口,只显示默认"添加变体消息"
控制台显示没有错误。
我想这与ajax请求有关,但是无法弄清楚究竟是什么,我试图将get函数移动到其他文件等但没有运气。
woocommerce插件版本为2.2.8
答案 0 :(得分:0)
好的,所以我想出了这个,解决方法是使用带有$ loop->帖子的foreach循环作为数组
function get_circuits_as_array(){
$args = array( 'post_type' => 'top', 'posts_per_page' => -1, 'post_status'=>'published' );
$loop = new WP_Query( $args );
$circuits = array('0'=>'--wybierz opcję--');
foreach ($loop->posts as $circuit) {
$circuits[$circuit->ID] = $circuit->post_title;
}
wp_reset_query();
return $circuits;
}