woocommerce自定义管理选项卡打破变化

时间:2015-09-03 10:47:57

标签: php wordpress woocommerce

我已添加了使用本教程中使用的函数在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;
    }

问题在于,在将代码上传到服务器时,此功能会中断变体窗口,只显示默认"添加变体消息"

enter image description here

控制台显示没有错误。

我想这与ajax请求有关,但是无法弄清楚究竟是什么,我试图将get函数移动到其他文件等但没有运气。

woocommerce插件版本为2.2.8

1 个答案:

答案 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;
    }