Autentificare
Începe

Documentație Easy Digital Downloads

Documentație, Materiale de Referință și Tutoriale pentru Easy Digital Downloads 

Licențiere Software – Personalizări Dezvoltator

La fel ca nucleul Easy Digital Downloads, extensia Software Licensing include o varietate de cârlige de acțiune și filtrare pe care le puteți utiliza pentru a ajusta comportamentul extensiei pentru a se potrivi mai bine nevoilor dumneavoastră. Această documentație este scrisă pentru utilizatori avansați care sunt deja familiarizați cu API-ul de plugin-uri WordPress.

Creare Licență

Durata licenței

Implicit, fiecărei chei de licență i se acordă o dată de expirare de un an. Această durată de expirare poate fi modificată cu ușurință utilizând filtrul edd_sl_license_exp_length. Există patru parametri transmiși filtrului:

  • $length (string) – Durata de expirare pentru această licență. „+1 an” este implicit
  • $payment_id (int) – ID-ul plății cu care a fost generată această licență
  • $download_id (int) – ID-ul produsului/descărcării la care este conectată această licență
  • $license_id (int) ID-ul licenței nou create

Iată un exemplu rapid despre cum ați putea schimba durata de expirare:

function pw_edd_sl_license_length( $length, $payment_id, $download_id, $license_id ) {
	return '+2 years'; // set length to two years from creation date
}
add_filter( 'edd_sl_license_exp_length', 'pw_edd_sl_license_length', 10, 4 );

Executare Funcții După Crearea Licenței

Acțiunea edd_sl_store_license este declanșată imediat după crearea cheii de licență și atașarea tuturor metadatelor la aceasta. Acțiunea preia trei parametri:

  • $license_id (int) – ID-ul licenței nou create
  • $download_id (int) – ID-ul produsului/descărcării la care este conectată această licență
  • $payment_id (int) – ID-ul plății cu care a fost creată această licență

O funcție eșantion pe care ați putea-o atașa acestei acțiuni ar putea arăta cam așa:

function pw_edd_sl_custom_admin_alert( $license_id, $download_id, $payment_id ) {
	
	// send admin alert

	wp_mail( get_bloginfo( 'admin_email' ), 'License Created', 'A new license key with the ID of ' . $license_id . ' has been created.' );

}
add_action( 'edd_sl_store_license', 'pw_edd_sl_custom_function', 10, 3 );

Executare Funcții În Timpul Activării Licenței

Acțiunea edd_sl_activate_license rulează imediat după activarea unei licențe prin API.

do_action( 'edd_sl_activate_license', $license_id, $download_id );

Executare Funcții În Timpul Verificării Licenței

Acțiunea edd_sl_check_license rulează imediat după verificarea unei licențe prin API.

do_action( 'edd_sl_activate_license', $license_id, $download_id );

Alte Filtre

edd_sl_license_response – aplicat răspunsului trimis la verificarea la distanță a versiunii unui produs/descărcare.

edd_sl_get_license_logs – aplicat la preluarea intrărilor de jurnal pentru o licență.

edd_sl_encoded_package_url – aplicat la preluarea URL-ului pachetului codificat pentru pachetele de descărcare.

edd_sl_download_package_url – aplicat la preluarea fișierului pachetului de descărcare pentru actualizări automate.

edd_license_labels – aplicat etichetelor tipului de postare la înregistrarea tipului de postare edd_license.

Alte Acțiuni

edd_sl_before_package_download – executat imediat înainte ca fișierul pachetului pentru upgrade-uri automate să fie servit browserului.

Software Licensing versiunea 3.5 și ulterioare include o clasă EDD_SL_License pentru interacțiunea cu înregistrările cheilor de licență. Clasa EDD_SL_License vă permite să interacționați cu datele cheilor de licență, să actualizați cheile de licență existente și să creați noi înregistrări ale cheilor de licență.

Instanțierea Obiectelor

Pentru a îmbunătăți performanța la accesarea unui obiect de licență, ar trebui să utilizați metoda wrapper, care folosește stratul de caching al obiectelor din nucleul WordPress. Puteți folosi fie ID-ul licenței, fie cheia licenței pentru a instanția un obiect. Dacă nu există nicio licență pentru informațiile furnizate, metoda wrapper va returna `false`:

// Instantiate a license via ID
$license = edd_software_licensing()->get_license( 2326422 );

// Instantiate a license via the license key
$license_by_key = edd_software_licensing->get_license( '9e21e9a885212f96cccb4d6186541332', true );

// If you pass in an invalid license ID or key you will get 'false' as a response.
$invalid_license = edd_software_licensing()->get_license( -1 );

EDD_SL_License poate fi instanțiat cu un ID de licență sau fără valoare la crearea unei noi licențe. Iată câteva exemple:

$license = new EDD_SL_License( 2326422 );

Dacă doriți să creați o nouă licență:

$license = new EDD_SL_License();
$license->create( $download_id = 0, $payment_id = 0, $price_id = false, $cart_index = 0, $options = array() );

Deși puteți instanția direct o licență cu EDD_SL_License, este preferabil să utilizați funcția wrapper din motive de performanță.

Argumentele necesare pentru a crea o nouă licență vor fi acoperite mai jos.

Proprietăți disponibile

Clasa EDD_SL_License include numeroase proprietăți accesibile care dețin informații legate de înregistrarea cheii de licență.

  • ID – Numărul ID al înregistrării licenței. Acesta corespunde ID-ului obiectului WP_Post.
  • parent – ID-ul postului licenței părinte, dacă există.
  • name – Numele licenței. Aceasta este o concatenare a adresei de e-mail a clientului și a numelui produsului cu care este asociată cheia de licență.
  • key – Cheia de licență în sine. Aceasta este, de obicei, un șir de 32 de caractere, dar poate fi orice.
  • user_id – ID-ul utilizatorului WP_User căruia îi aparține cheia de licență, dacă există.
  • customer_id – ID-ul clientului EDD_Customer căruia îi aparține licența.
  • payment_id – ID-ul plății EDD_Payment pentru care a fost creată licența.
  • payment_ids – O listă de ID-uri de plăți legate de licență. Include reînnoiri și upgrade-uri.
  • cart_index – Indexul numeric în lista de articole din coș a produsului cu care este asociată cheia de licență.
  • download – O instanță EDD_SL_Download a produsului de descărcare cu care este asociată cheia de licență.
  • download_id – ID-ul postului produsului de descărcare cu care este asociată cheia de licență.
  • price_id – ID-ul opțiunii de preț a produsului de descărcare atribuită cheii de licență.
  • activation_limit – Numărul de URL-uri unice / mașini pe care cheia de licență poate fi activată.
  • sites – O listă de URL-uri de site (sau ID-uri de mașini) pe care cheia de licență este activată.
  • activation_count – Numărul de URL-uri unice / mașini pe care cheia de licență este în prezent activată.
  • expiration – Data de expirare a cheii de licență.
  • is_lifetime – Indicator boolean care indică dacă licența este o licență pe viață (nu expiră niciodată).
  • status – Starea curentă a licenței (activă, inactivă, expirată).
  • post_status – Starea postului post_status a obiectului WP_Post pentru licență.
  • child_licenses – O listă de chei de licență copil, dacă există.

Fiecare proprietate poate fi accesată direct, astfel:

// Access the price ID of the license
$price_id = $license->price_id;

Fiecare proprietate poate fi, de asemenea, actualizată prin setarea valorii proprietății, astfel:

// Set the license activation limit
$license->activation_limit = 100;

Modificările aduse proprietăților obiectului vor fi salvate imediat, fără a fi necesară apelarea unei metode de salvare sau actualizare.

Metode disponibile

Clasa EDD_SL_License include metode publice pentru accesarea proprietăților obiectului și mai multe alte metode ajutătoare care pot fi utilizate pentru a accesa și interacționa cu datele licenței.

$license->create( $download_id = 0, $payment_id = 0, $price_id = false, $cart_index = 0, $options = array() )

Această metodă vă permite să creați o nouă înregistrare de licență pentru un produs de descărcare existent și o înregistrare de plată.

  • $download_id – Acesta trebuie să fie ID-ul unui produs de descărcare existent
  • $payment_id – Acesta trebuie să fie ID-ul unei înregistrări de plată existente care a inclus o achiziție a $download_id
  • $price_id – Acesta este un ID de preț opțional pentru $download_id dacă prețurile variabile sunt activate
  • $cart_index – Acesta este un index opțional al elementului din coș care identifică exact la ce element din coș corespunde această licență
  • $options – Un array de opțiuni pentru licență. Poate include următoarele chei
    • parent_license_id
    • activation_limit
    • license_length
    • expiration_date
    • is_lifetime

Metoda create() poate fi utilizată pentru a crea o nouă cheie de licență, dar în mod normal nu va fi utilizată manual, cu excepția implementărilor foarte personalizate.

$license->update( $data = array() )

Această metodă vă permite să actualizați metadatele pentru o licență în bloc. Array-ul $data ar trebui să fie o pereche cheie/valoare de meta_key/meta_value.

$license->renew()

Această metodă va declanșa reînnoirea unei chei de licență, extinzând data de expirare cu o perioadă și resetând starea licenței la inactivă sau activă.

$license->enable()

Această metodă va reactiva o cheie de licență dezactivată.

$license->disable()

Această metodă va dezactiva o cheie de licență.

$license->get_meta( $meta_key = ”, $single = true )

Această metodă va prelua metadatele pentru o licență.

$license->update_meta($meta_key = ”, $value = ”, $old_value = ” )

Această metodă va actualiza metadatele pentru o licență.

$license->get_renewal_url()

Această metodă va prelua URL-ul de reînnoire pentru o licență.

$license->is_site_active( $url )

Această metodă va determina dacă URL-ul furnizat este înregistrat pe licență.

$license->is_at_limit()

Această metodă va verifica dacă licența a atins limita de activare.

$license->license_length()

Această metodă va returna lungimea unei singure perioade pentru licență, cum ar fi pe viață sau +1 an.

$license->add_site( $url )

Această metodă poate fi utilizată pentru a înregistra un nou URL de site pe o licență.

$license->remove_site( $url )

Această metodă poate fi utilizată pentru a elimina un URL de site dintr-o licență.

$license->reset_activation_limit()

Această metodă poate fi utilizată pentru a reseta limita de activare pe o licență, conform setărilor produsului descărcabil.

A fost util acest articol?

Începeți să vindeți astăzi!

Alăturați-vă peste 50.000 de proprietari de magazine inteligente și începeți să folosiți cel mai ușor mod de a vinde produse digitale cu WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]