使用API​​在PHP中显示余额?

时间:2017-11-14 20:36:42

标签: php

我正在尝试使用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>

1 个答案:

答案 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

做任何事情