我正在熟悉一个使用WordPress的WooCommerce网站。
我的目标是调用HTML并在同一个WooCommerce网站中的WordPress页面上显示产品。
我已采取下列步骤:
extension.
。
<?php
/*
Plugin Name: XXXX
Plugin URI: XXXX
description: XXXX
Version: X.XX
Author: XXX
Author URI: XX@XXX
License: GPL2
*/
?>
<?php
//WooCommerce credentials:
$username = 'consumer key';
$password = 'consumer secret';
$response = wp_remote_get( 'https://mywebsite/wp-json/wc/v3/products', array(
'Accept' => 'application/json',
'timeout' => '120',
'Authorization' => 'Basic ' . base64_encode( "{$username}:{$password}" ),
));
if( is_wp_error( $response ) ) {
$error_string = $response->get_error_message();
echo '<div id="message" class="error"><h1>' . $error_string . '</h1></div>';
return false;
}
$code = wp_remote_retrieve_response_code( $response );
echo $code;
$body = wp_remote_retrieve_body( $response );
// echo $body;
$data = json_decode( $body );
// echo $data;
if( ! empty( $data ) ) {
echo '<ul>';
foreach( $data->products as $product ) {
echo '<li>';
echo '<a href="' . esc_url( $product->info->link ) . '">' . $product->info->title . '</a>';
echo '</li>';
}
echo '</ul>';
}我在上面第30行得到一个响应代码200。但是,我在日志中看到了一个错误401:
{"code":"woocommerce_rest_cannot_view","message":"Sorry, you cannot list resources.","data":{"status":401}}我可以使用Postman,并通过传入密钥和密码以及在Https上使用基本身份验证来获得结果。但是,看起来身份验证失败了。感谢你的帮助。
提前谢谢。
发布于 2022-11-06 04:24:12
您可以尝试使用woocommerce composer包。如果有帮助,请检查下面的教程。
https://www.cloudways.com/blog/custom-dashboard-using-woocommerce-php-rest-api/
https://stackoverflow.com/questions/74331396
复制相似问题