コンテンツにスキップ

運用・保守マニュアル (Operations Guide)

本ドキュメントは、システム管理者向けの運用、トラブルシューティング、および手動対応手順をまとめたものです。

1. トラブルシューティング

Q. Storeでサブスク更新したのにMainに反映されない

原因1: 通信エラー StoreからMainへのAPIリクエストが失敗している可能性があります。 * 確認方法: Storeサイトの wp-content/debug.log (有効化されている場合) を確認してください。「SLM Sync Error」という文字列で検索します。 * 対応: Mainサイトがダウンしていないか、FWで遮断されていないか確認してください。

原因2: シークレットキーの不一致 * 確認方法: 両サイトの wp-config.php を開き、定義されているKEYが完全に一致しているか確認してください。スペースなどが混入していないか注意が必要です。

原因3: ユーザー名の不一致 * 確認方法: Storeサイトの購入ユーザーの「ユーザー名 (User Login)」と、Mainサイトのユーザー名が一致しているか確認してください。メールアドレスではなく ユーザー名 で紐付けを行っています。


2. 手動リカバリー手順 (Manual Fix)

自動連携が失敗した場合、Mainサイトのデータベースを直接編集することでステータスを修正できます。

データベース/ユーザーメタの編集

Mainサイトの管理画面、またはphpMyAdmin等が使えない場合でも、管理画面の「ユーザー編集」ページからは見えない隠しフィールドを更新する必要があります。 (※ Store Sync Receiver プラグインには現時点で管理画面UIはありません)

方法A: データベース直接編集

wp_usermeta テーブルを編集します。

  1. 対象ユーザーの ID を特定します。
  2. 以下のクエリを実行/確認します。
-- ステータスをActiveにする
UPDATE wp_usermeta SET meta_value = 'active' 
WHERE user_id = {USER_ID} AND meta_key = 'storesync_license_cross-poster-pro';

-- 有効期限を更新する (例: 2026年12月31日)
UPDATE wp_usermeta SET meta_value = '2026-12-31 23:59:59' 
WHERE user_id = {USER_ID} AND meta_key = 'storesync_license_cross-poster-pro_expires_at';
/* 注意: プラグインのバージョンによって meta_key は storesync_license_{slug} (配列) か個別キーか異なります。
   現在の v1.1.0 実装では serialized array で保存されています! */

【重要】現在の実装 (v1.1.0) での正しい修正方法 storesync_license_cross-poster-pro というキーに、以下の配列がシリアライズされて保存されています。

array(
    'status' => 'active',
    'expires_at' => '2025-12-31 00:00:00',
    'updated_at' => '...'
)

SQLで直接シリアライズデータをいじるのは危険ですので、以下の ヘルパースクリプト をテーマの functions.php 等に一時的に貼って実行することを推奨します。

方法B: 緊急用ヘルパースニペット

// 指定ユーザーのライセンスを強制的に有効化する
$user = get_user_by( 'login', 'ターゲットユーザー名' );
if ( $user ) {
    update_user_meta( $user->ID, 'storesync_license_cross-poster-pro', array(
        'status' => 'active',
        'expires_at' => '2026-12-31 23:59:59',
        'updated_at' => current_time( 'mysql' )
    ));
    echo "Fixed user license.";
}

3. 全件再同期 (Future Work)

現在、Storeサイト全ユーザーのステータスを一括でMainサイトに送信する機能はありません。 将来的にデータの不整合が大きくなった場合は、Software License Manager に「全件同期バッチ処理」を追加開発することを検討してください。