我正在尝试使用PHP页面中的API显示SMS余额。 为简化这一点,我缺少什么? (API直接正常工作):
public function show_sms_credits() {
if ( false === ( $my_query = get_transient( 'available_sms_credits' ) ) ) {
$api_key = get_option( 'wc_api_key', true );
$api_token = get_option( 'wc_api_token', true );
if( empty ( $api_key ) || empty( $api_token ) ){
return;
}
$url = 'http://mywebsite.com/api/';
$response = wp_remote_get("{$this->url}GetBalance?User={$this->api_key}&Password={$this->api_token}");
if( ! is_wp_error( $response ) && 200 == wp_remote_retrieve_response_code( $response ) ) {
$body = json_decode( wp_remote_retrieve_body( $response ) );
set_transient( 'available_sms_credits', $body->sms_credits, 12 * HOUR_IN_SECONDS );
}
}
$sms_credits = get_transient( 'available_sms_credits' );
}
}
<p> SMS Balance: <?php echo 'available_sms_credits': ?> </p>
答案 0 :(得分:0)
因为您使用此语法
$url = 'http://mywebsite.com/api/';
您应该只使用
$response = wp_remote_get("{$url}GetBalance?User={$api_key}&Password={$api_token}");
因为您只分配了局部变量,而不是分配给当前对象本身。如果您需要将URL作为属性添加到对象中,则可以使用$this
,如...
$this->url = 'http://mywebsite.com/api/';
此外,您还没有使用$sms_credits