[WordPress] ワードなし WooCommerce サブスクリプションを取得します。

スポンサーリンク

Question

ワードプレスプラグインの WooCommerce からサブスクリプション情報を取得しようとしているが負荷ファイルを WP をロードし、サーバーが遅くの狂気の負荷をしません。次のようには、現在使用して:

$subscription = false;
$result = WC_Subscriptions_Manager::get_users_subscriptions( $userID );
foreach ($result as $key => $value) {       
    if ($result[$key]["status"]=="active") $subscription = true;
}

がある任意の方法私は狂気の次のコードを含むせずに行うことができる:

require('wp-load.php');

たいは、DB に接続し、何かを見つけます。WooCommerce で私のエントリは、大きなテキスト チャンクの今、持っているもの:

a:1:{s:7:"609_222";a:11:{s:10:"product_id";s:3:"22";s:9:"order_key";s:19:"order_5396dcccd4049";s:8:"order_id";i:609;s:10:"start_date";s:19:"2014-06-10 10:37:51";s:11:"expiry_date";i:0;s:8:"end_date";i:0;s:6:"status";s:6:"active";s:17:"trial_expiry_date";i:0;s:15:"failed_payments";i:0;s:18:"completed_payments";a:1:{i:0;s:19:"2014-06-10 10:37:52";}s:16:"suspension_count";i:0;}}

コード

wp-load.php

を使用せず作業のこの部分を取得する方法について手がかりも持っていません。どんなヘッドアップ?

答え

WC_Subscriptions_Manager::get_users_subscriptions で見て、必要なだけこれ:

global $wpdb;
$subscriptions = get_user_option( $wpdb->get_blog_prefix() . self::$users_meta_key, $user_id );

試してみてください:

あなたの機能コード:

define( 'BLOCK_WP_LOAD', true );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' );
$wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);

$data = $wpdb->get_var("SELECT meta_value FROM wp_usermeta WHERE user_id = '$use_id' and meta_key = 'whatever'");

右 meta_key を見つける必要があります (;)) 困難にではないデータベースの検索

wp-config.php も追加と

if ( !defined('BLOCK_WP_LOAD') || !BLOCK_WP_LOAD ) ) require_once(ABSPATH . 'wp-settings.php');

http://stackoverflow.com/questions/27188633/get-woocommerce-subscription-without-wordpress

スポンサーリンク

Leave a Reply