wc_get_products gibt ein leeres Array zurück?

Lesezeit: 1 Minute

Ich habe ein Plugin erstellt, damit ich benutzerdefinierte Endpunkte haben kann. Letztendlich möchte ich Daten über meine buchbaren Produkte (Woocommerce-Buchungen) ziehen.

Hier ist mein Plugin:

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins',
        get_option( 'active_plugins' ) ) ) ) {

    // Define constants.
    define( 'CUSTOM_ENDPOINTS_PLUGIN_VERSION', '1.0.0' );
    define( 'CUSTOM_ENDPOINTS_PLUGIN_DIR', __FILE__  );


    // Include the main class.
    require plugin_dir_path( __FILE__ ) . '/class-rest-custom-woocommerce-endpoints.php';

}

Dann in meiner Hauptklassendatei:

 add_action( 'woocommerce_loaded', 'get_data');
    add_action( 'rest_api_init', 'custom_endpoint_first');


           function custom_endpoint_first(){
            register_rest_route( 'cwe/v1/booking', '/get-data',
                                array(
                                'methods' => 'GET',
                                'callback' => 'get_data')
             );
           }

           function get_data() {

               $args = array( 'include' => array(28));

               $products = wc_get_products( $args );



               return $products;
           }

Ich weiß nicht, warum es ein leeres Array zurückgibt, aber es hat den Status 200, wenn ich meine benutzerdefinierte URL aufrufe.

Verwenden Sie dieses Snippet, um Produkte in JSON abzurufen.

public function get_products()
{
    $p = wc_get_products(array('status' => 'publish'));
    $products = array();
    foreach ($p as $product) {
        $products[] = $product->get_data();
    }
    return new WP_REST_Response($products, 200);
}

  • Groß. Aber weiß nicht, warum WP_REST_Response nicht funktioniert. Vielen Dank.

    – Mahmud Hasan

    22. Juli um 5:10 Uhr

Diese Linie

'include' => array(28)

bedeutet, dass Sie nur ein Produkt mit der ID 28 erhalten.
Gibt es dieses Produkt?
Ist das Ihre Absicht?

Wenn nicht, sehen Sie sich diesen Link für einige Beispiele an
https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query#usage

  • Hey! Ja, dieses Produkt existiert idealerweise. Ich würde gerne alle meine Produkte ziehen, aber ich habe es nur zum Testen getan, da das erstere mir immer noch ein leeres Array gab.

    – kadddeee

    11. Februar 2019 um 21:40 Uhr

1355620cookie-checkwc_get_products gibt ein leeres Array zurück?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy