ソフトウェアライセンスを使用している場合、プラグインの更新が表示されない原因はいくつかあります。
1. バージョン番号が同期していない。
新しいバージョンをリリースする際に、3つの箇所でソフトウェアをインクリメントする必要があります。
A. ダウンロードページにあるライセンスメタボックス

B. Updaterファイル内。テーマにはtheme-updater.phpというファイルがあり、プラグインにはメインのプラグインファイル内にコードがあります。
テーマには次のようなものがあります:
$config = array( 'remote_api_url' => 'https://easydigitaldownloads.com', // Site where EDD is hosted 'item_name' => 'Theme Name', // Name of theme 'item_id' => 123, // ID of download 'theme_slug' => 'theme-slug', // Theme slug 'version' => '1.4', // The current version of this theme 'author' => 'Easy Digital Downloads', // The author of this theme 'download_id' => '', // Optional, used for generating a license renewal link 'renew_url' => '' // Optional, allows for a custom license renewal link ),
「version」に注意してください。上記のメタボックスにあるものと一致する必要があります。
プラグインには次のようなものがあります:
$edd_updater = new EDD_SL_Plugin_Updater( EDD_SAMPLE_STORE_URL, __FILE__, array(
'version' => '1.4', // current version number
'license' => $license_key, // license key (used get_option above to retrieve from DB)
'item_id' => EDD_SAMPLE_ITEM_ID, // download ID on your site
'author' => 'EDD Team' // author of this plugin
)
);
そのコード内のバージョン番号にも注意してください。
C. プラグインヘッダー。
他のすべてのプラグインと同様に、ヘッダーにもバージョン番号があります。例:
<!--?php
/**
* Plugin Name: Easy Digital Downloads
* Plugin URI: https://easydigitaldownloads.com
* Description: Serve Digital Downloads Through WordPress
* Author: EDD Teak
* Author URI: https://easydigitaldownloads.com
* Version: 1.4
重要:これら3つのバージョン番号はすべて一致する必要があります。
2. ダウンロード名が一致せず、item_idが指定されていない
ライセンスアップデーターがサイトの正しいダウンロードから更新を受信できるように、item_nameとitem_idのキーが上記で示された配列に含まれています。両方を含める必要はありません。両方が存在する場合、item_idの値が使用され、item_nameは無視されます。
item_idのみを使用する場合(推奨)、その値はウェブサイト上のダウンロードの実際のIDと正確に一致する必要があります。
3. ?edd_action=get_version/activate_licenseリクエストをブロックするセキュリティプラグインまたはhtaccessルールを使用している
一部のプラグインや.htaccessルールは、攻撃者によって一般的に使用されるため、上記のようなget変数をブロックします。これらの設定を探し、無効になっていることを確認してください。
4. マルチサイト設定で機能しないのはなぜですか?
プラグインは、マルチサイトネットワーク経由または個々のサイトのいずれかを経由してアクティブ化する必要があります。カスタムアップデーターは、プラグインがアクティブ化されている場合にのみ機能します。それ以外の場合、コードは実行できません。
ネットワーク管理者は、プラグインがネットワークアクティブ化されているか、またはメインサイトでアクティブ化されている場合にのみ、ネットワーク管理ダッシュボード経由で更新を確認できます。メインサイトとは、ネットワーク上でMainとラベル付けされたWordPressサイトのことです:
注意:プラグインがネットワーク上の他のサイトでアクティブ化されている場合、ネットワーク管理者はネットワーク管理ダッシュボードから更新通知を表示しません。しかし、ネットワーク管理者は、プラグインがアクティブ化されているサイトのプラグインリスト経由でプラグインを表示および更新できます。
ネットワーク管理者のみが更新通知を表示します。これは、マルチサイトでプラグインを更新できる唯一のユーザーレベルであるためです。
つまり、プラグインをネットワークアクティブ化せずにネットワーク管理ダッシュボードに更新を表示させるためには、次のことが必要です:
- メインサイトでプラグインをアクティブ化する
- メインサイトでライセンスキーをアクティブ化する
- サイトでプラグインページ(またはネットワーク管理 → ホーム → 更新)にアクセスします。サイト管理者がプラグイン画面にアクセスすると更新のチェックがトリガーされますが、通知はネットワーク管理者にのみ表示されることに注意してください。
- これにより、ネットワーク全体の一時的な場所に利用可能なプラグイン更新がキャッシュされます。
- ネットワーク管理者として、ネットワーク → プラグイン にアクセスすると、アップデートが表示されます。

一部のプラグインは、マルチサイトのどのサイトにもアクティブ化されていないのに、アップデート通知が表示されるのはなぜですか?
wp.org のプラグインは、アクティブ化されていなくてもアップデートが利用可能であることを示します。
5. アップデータークラスに不正な __FILE__ パラメータが提供されました
メインプラグインファイル以外のファイルからアップデータークラスを拡張している場合は、メインプラグインファイルに define('YOUR_PREFIX_PLUGIN_FILE', __FILE__ ); を追加し、新しい EDD_SL_Plugin_Updater クラスの 2 番目のパラメータとして __FILE__ を呼び出す代わりに、そこに YOUR_PREFIX_PLUGIN_FILE を呼び出してください。

