Я разрабатываю плагин для WordPress и размещу его на своем собственном сервере.
В этом плагине есть 2 версии а) Бесплатная б) Премиум.
Теперь я хочу предоставить систему лицензий для своего плагина, поэтому я выбираю Easy Digital Download Плагин. Теперь у них есть такой код для проверки лицензии:
function edd_sample_theme_check_license() {
$store_url = 'http://yoursite.com';
$item_name = 'Your Item Name';
$license = '834bbb2d27c02eb1ac11f4ce6ffa20bb';
$api_params = array(
'edd_action' => 'check_license',
'license' => $license,
'item_name' => urlencode( $item_name ),
'url' => home_url()
);
$response = wp_remote_post( $store_url, array( 'body' => $api_params, 'timeout' => 15, 'sslverify' => false ) );
if ( is_wp_error( $response ) ) {
return false;
}
$license_data = json_decode( wp_remote_retrieve_body( $response ) );
if( $license_data->license == 'valid' ) {
echo 'valid';
exit;
// this license is still valid
} else {
echo 'invalid';
exit;
// this license is no longer valid
}
}
Так что, если приведенная выше функция возвращает valid (true), тогда я могу сделать что-то или получить удовольствие для премиум-пользователя.
Но
1) что случилось, если кто-то изменит вышеуказанный код и просто вернет логическое значение true
в качестве возврата, только ??
2) в моем плагине Я хочу включить поле только для премиум-пользователей, тогда правильно ли использовать блок if / else для отображенияполе / код / functioanlity. (поле уже существует)
или
Буду ли я использовать метод wp_remote_get()
для получения / загрузки Премиум-код поля или функциональность, если пользователь является премиум-пользователем?
Пожалуйста, скажите мне правильный путь.
Примечание: плагин будет передан в каталог плагинов wordpress.org итогда премиум пользователь зайдет на мой сайт, чтобы получить лицензию.