WooCommerce将所有产品作为ID名称对

时间:2016-07-27 06:24:54

标签: wordpress woocommerce

我正在使用此功能将所有产品作为ID名称对,以将数据填充到选择框中。

    function get_product_list_as_key_name(){
                    $args     = array( 'post_type' => 'product','posts_per_page' => -1);
                    $products = get_posts( $args );
                    $products_list = array();
                    if(!empty($products)){
                        $i = 0;
                        foreach ($products as $value) {
                            $products_list[$i]['id'] = $value->ID;
                            $products_list[$i]['name'] = strlen($value->post_title) > 25 ? substr(strip_tags($value->post_title), 0, 25) . "..." : $value->post_title;
                            $i++;
                        }
                    }
        return $products_list;
    }

有没有更好的方法呢?(任何默认功能?)

1 个答案:

答案 0 :(得分:0)

不,您必须手动执行此操作。或者您可以使用自定义查询

执行此操作
    function get_product_list_as_key_name(){
        global $wpdb;
        $query = "SELECT ID,post_title FROM {$wpdb->prefix}posts where post_type='product' AND post_status='publish'";
        $products_array = $wpdb->get_results( $wpdb->prepare( $query ) );
        return $products_array;
    }

这比你的更快。