我終於找到了解決辦法,以直接訪問WooCommerce API不使用REST API我第一次發現這個鏈接偉大的代碼:
https://wordpress.org/support/topic/programming-question-memory-leak-when-accessing-products
而且使用這個偉大的鏈接文檔
http://woocommerce.wp-a2z.org/oik_file/includesapiv2class-wc-api-orders-php/
然後通過在WooCommerce中導航插件文件夾中的源代碼在 插件/ woocommerce/includes/api
我成功訪問WooCommerce,這裏是一個簡單的例子來獲得一個類別的產品和使用頁碼:
//you need to sign in with wordpress admin account to access WooCommerce data
function setupWooCommerce() {
$wooCommercePath = realpath(WP_PLUGIN_DIR . '/woocommerce/woocommerce.php');
require_once $wooCommercePath;
WC()->api->includes();
WC()->api->register_resources(new WC_API_Server('/'));
$credentials = [
'user_login' => 'username',
'user_password' => 'password'
];
$user = wp_signon($credentials, false);
wp_set_current_user($user->ID);
}
function getProducts($category, $pageNumber) {
setupWooCommerce();
$products = NULL;
try {
$api = WC()->api->WC_API_Products;
$products = $api->get_products(null, null, array('category' => $category), $pageNumber);
} catch (Exception $e) {
error_log("Caught $e");
}
return $products;
}