fbpixel

Custom Plugin y Woocommerce

Buenas tardes a todos, estoy desarrollando un plugin para hacer una conexion entre un programa de manejo de stock de tiendas y woocommerce, actualmente estoy frenado en hacer las consultas a la api de woocommerce. Les dejo el codigo que tengo hecho con para la conexion.

Archivo principal en el que configuro todo lo basico del plugin

require_once ABSPATH.'vendor/autoload.php';
use Automattic\WooCommerce\Client;

function woocommerceGlobal(){
    // Defino la global de woocommerce para poder usarla en todo el proyecto
    global $woocommerce;
    $woocommerce = new Client(
        'http://localhost/woodragon', // Your store URL
        'ck_3e33d33f8c707409ac68a8cfc3368629edb6842c', // Your consumer key
        'cs_b4f3dd086658ab149b07cf30b73d45eb4787c6fa', // Your consumer secret
        [
            'wp_api' => true,
            'version' => 'wc/v3',
            'query_string_auth' => true,
            'verify_ssl' => false
        ]
    );
}

add_action( 'after_setup_theme', 'woocommerceGlobal' );

Archivo ejecutar.php en el que hago la consulta a la API

<?php

defined('ABSPATH') or die("Bye bye");

use Automattic\WooCommerce\HttpClient\HttpClientException;

function ejecutar()
{
	//Comprueba que tienes permisos para acceder a esta pagina
	if (!current_user_can('manage_options')) wp_die(__('No tienes suficientes permisos para acceder a esta página.'));
?>
	<div class="wrap">
		<h1><?php _e('EJECUTAR WOO-DRAGON', 'EJECUTAR WOO-DRAGON') ?></h1>
		<div class="container">
			<?php
			global $woocommerce;

			try{
				print_r($woocommerce->get('products'));
			}catch(HttpClientException $e){
				die("Error al extraer los productos. Causa: ".$e);
			}
			?>
		</div>
	</div>
<?php
}
?>

El error que me tira la pagina es el siguiente:

Error al extraer los productos. Causa: Automattic\WooCommerce\HttpClient\HttpClientException: JSON ERROR: Syntax error in C:\xampp\htdocs\woodragon\vendor\automattic\woocommerce\src\WooCommerce\HttpClient\HttpClient.php:378 Stack trace: #0 C:\xampp\htdocs\woodragon\vendor\automattic\woocommerce\src\WooCommerce\HttpClient\HttpClient.php(422): Automattic\WooCommerce\HttpClient\HttpClient->processResponse() #1 C:\xampp\htdocs\woodragon\vendor\automattic\woocommerce\src\WooCommerce\Client.php(82): Automattic\WooCommerce\HttpClient\HttpClient->request('products', 'GET', Array, Array) #2 C:\xampp\htdocs\woodragon\wp-content\plugins\woodragon\admin\ejecutar.php(19): Automattic\WooCommerce\Client->get('products') #3 C:\xampp\htdocs\woodragon\wp-includes\class-wp-hook.php(303): ejecutar('') #4 C:\xampp\htdocs\woodragon\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters('', Array) #5 C:\xampp\htdocs\woodragon\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #6 C:\xampp\htdocs\woodragon\wp-admin\admin.php(259): do_action('toplevel_page_e...') #7 {main}

Supuestamente es un problema de los permalinks pero si ejecuto un archivo aparte a la altura del proyecto Wordpress funciona.

Estoy dispuesto a contestar cualquier pregunta que surja, estoy hace mucho tiempo con esto pero aun no lo he podido solucionar, alguna idea de que podria hacer?

Hola
Intentá a agregando estos parámetros

'query_string_auth' => true,
'verify_ssl' => false

Y además cambia de variable global ya q esa es muy conocida y puede que este siendo usada ya por otro.

Y bueno si te estas conectado desde WC al sistema de stock que decis, no entiendo porque estas consultando a WC, deberías conectarte a la API del sistema de stock desde un plugin ( que estas construyendo ) dentro de tu WordPress.

Saludos