Usando la función wc_get_products en WooCommerce

2 minutos de lectura

avatar de usuario
sarte

Un poco desconcertado aquí.

add_action('plugins_loaded', 'foobar' );

function foobar(){
    $products = wc_get_products(array());
    var_dump($products);
}

Esto devuelve una matriz vacía. No parece importar qué parámetros agrego a args. Todo lo que obtengo es un resultado vacío.

¿Qué estoy haciendo mal?

avatar de usuario
LoicTheAztec

Actualizado

Primero plugin_loaded gancho no parece ser el gancho adecuado para esto (pero puede ser que me equivoque)…

Ahora necesita agregar algunos argumentos mínimos para obtener sus productos:

$products = wc_get_products(array(
    'limit'  => -1, // All products
    'status' => 'publish', // Only published products
) );

Para ver el resultado en la parte superior de la página del carrito (por ejemplo) para asegurarse de obtener algo, intente solo con fines de prueba:

add_action('woocommerce_before_cart', 'custom_raw_output' );
function custom_raw_output(){
    $products = wc_get_products(array(
        'limit'  => -1,
        'status' => 'publish',
    ) );
    echo '<pre>'; print_r($products); echo '</pre>';
}

El código va en el archivo function.php de su tema secundario activo (o tema) o también en cualquier archivo de complemento.

Probado y funciona…

  • Sí. Totalmente cierto. Fue la acción la que hizo el problema. Ni siquiera lo consideró.

    – sarte

    24 de octubre de 2017 a las 6:41

  • ¿Con qué acción corrigiste tu trabajo al final para que funcionara? @sarte

    – kadddeee

    11 de febrero de 2019 a las 21:50

  • @kadddeee Depende totalmente de lo que estés tratando de lograr. En mi problema particular, la acción “plugins_loaded” no se llamó, no recuerdo por qué. Controlar wordpress.stackexchange.com/questions/112593/… Esto podría ayudarte

    – sarte

    18 de abril de 2019 a las 11:59


  • Creo que el estado debería ser “publicar” y no publicado

    – Svetoslav Marinov

    10 sep 2020 a las 16:15

  • @SvetoslavMarinov ¡Ay! si tienes toda la razon

    – LoicTheAztec

    10 de septiembre de 2020 a las 16:21

¿Ha sido útil esta solución?