Het creëren van een vergunning en plug - in de kwestie van de controle van de bijwerking van het systeem van vergunningen, deel 1: beheer van plug - in

, het creëren van een vergunning en plug - in de kwestie van de controle van de vernieuwing van het systeem, deel 1: het beheer van vergunningen plug,,,,,,,,,, 51, deelt, delen,,,,,,, het netwerk van maandag wat in tuts + cursussen worden teruggebracht tot slechts drie dollar.Niet' dit artikel niet missen, maken deel uit van een reeks genaamd het creëren van een vergunning van de thema 's en de controle in de vernieuwing van het systeem, het creëren van een vergunning, controle en thema' s - Deel 2: aanpassing van het systeem van vergunningen voor het beheer van de API, Als officiële   wordpress betreft en plug - in de catalogus is geweldig, soms wil je niet met ze verspreiden van je   plug - in - of thema 's.Misschien is het omdat je je   verkoop - of thema 's, of ben je gewoon   wil ze zelf, dat zij alleen   in uw organisatie of groep van vrienden.  ,, maar hoe?En als je de enige gebruiker, zolang de plug - in de hand en uploaden van thema 's goed.   maar als je meer dan dat, de gebruikers en de vernieuwing van het beheer van de pagina' s, die je kan van pas komen.,,, de vernieuwing van de functie van het ontwerp van je, heeft alleen officiële wordpress « en thematische catalogus herinneren maar maak je geen zorgen, je  : acties en filters, zodat we   haak aan de functie toe te voegen in de gemengde server zelf, wat je zal leren.,,, in deze eerste les in de serie, creëren we een wordpress plug je locatie in een vergunning voor het beheer van de server.In het tweede deel, dat we zullen blijven aan het door de toevoeging van een interface voor « plug­in ».In het derde deel, zullen we het gebruik van API wordpress « met vergunning of thema 's manager bijgewerkt.  , bij het creëren van een plug - in het eerste deel, dat zal je leren de volgende wordpress « de ontwikkeling van technologie,   wordpress » model, snel.  , 创建元 kluis   een gewoonte - gegevens een nieuwe gewoonte in dit type, het creëren van een van de « plug­in » van de databank te handhaven, de database toevoegen aan de lijst van projecten, het gebruik van wordpress tot de verwezenlijking van de genoemde projecten.,, als je wil actie zien van de « plug­in », kan je WordPress.org gedownload van   Plug - in de meest recente versie.Deze gids voor de source code, van mening dat de betrokken opleiding + github bibliotheek (rechts).   zullen we door middel van een het creëren van een plug - in elke stap van de weg, maar als je niet wil dat vanaf de grond worden opgebouwd, en alles met de source code voor het organiseren van je leren Een goede manier, laten we nu. Ga aan het werk.,, 1.Het gebruik van wordpress « plug - in het model, het creëren en het begin van een nieuwe   wordpress plug - in - met inbegrip van veel dubbel werk en je keer op keer elke plug te creëren, zoals de nieuwe code te schrijven of kopiëren en het opruimen van oude projecten.,, maar er is een betere manier.  , deze keer, in plaats van een kopie van een bestaande projecten of van nul beginnen, zullen we met   Tom mcfarlin wordpress plug - in de   model, het uitgangspunt om je te laten beginnen met een gestructureerde en gerichte wordpress plug - in geen tijd. , dus, voordat we beginnen met de toevoeging van hun functie, laten we van de « plug­in » « het downloaden van het model, het model, dat is je eigen, downloaden van de dossiers, de meest eenvoudige methode is de toegang tot het programma downloaden van de website van de laatste versie van het  , ZIP, zodra je. Al gedownload en de decompressie - pakket, de kofferbak gevonden, in het dossier, met kopie aan de positie van je houdt, en van de nieuwe manager, WP toestaan.  , dan, het is tijd om te gaan door de plug - in het dossier, laat ze hun eigen:,, in De « catalogussen gaan door alle documenten (en haar kinderen. De gids) om alle gebeuren, plug - in de naam,, WP verlenen manager, plugin_name wp_license_manager,,,.Om te dopen   klasse en het dossier. Dit vereist een beetje tijd en lichamelijke arbeid, dus gebruik maken van de persoonlijke beschermingsmiddelen IDE te noemen is een goed idee, de extra informatie die de documenten in, en nu noemt, WD - license-manager.php, gelegen in de « plug­in » wortel.Je moet in het dossier van de toelichting in de Top van de informatie in het blok vinden,   phpdoc etiket @ wordpress plug,,, en nu heb je een lege een configuratie van de plug - in het begin alleen op je te wachten.Als het tijd is om onze vergunning manager. , gebruiken, als je wilt meer te lezen over het dossier  , controleer de   Tom mcfarlin reeks lessen, de ontwikkeling van de « plug­in »   wordpress dossier.Het is gebaseerd op een eerste versie van de steekproef, maar geef je een beter begrip van de gedachte achter, een model en een plug - in het werk.,, 2.Het creëren van een speciaal type product, we het beheer van vergunningen voor « plug­in » is heel eenvoudig, de opslag en het gebruik van slechts twee soorten gegevens:, producten, en, de vergunning.Als de eisen voor vergunningen voor de vervaardiging van producten (producten gemakkelijker), daar beginnen we.,, dit is je zal in deze paragraaf,,,,, de bouw van een product,  :  , zal   namens een wordpress plug - in - of betreft, wil je je vergunning voor het beheer van door De server.Net als een blog of webpagina 's, een product heeft een naam en een beschrijving.Trouwens, het is de definitie van specifieke producten een extra informatie gebied:,,, in de versie van de versie van het product,:.Dit gebied zal worden gebruikt voor de controle en de derde deel van de serie,, bijgewerkt. Documenten in de emmer emmer S3: opslag van documenten.  , opgeslagen in de Amazone, de naam van het product: 3 - naam.Zullen we het hebben over de mogelijkheden van deze documenten in het tweede deel van de serie,, beta versie.   wordpress versie nodig,,,,,  , de laatste update,,,,   vlag, de vlag van hoog - laag: deze optie is, in de in het derde deel van de « plug­in » updates van de bu reeks lessen, en nu, weergegeven. Laten we door de oprichting van een speciaal artikel toe te voegen en - doos.,, stap 1: het creëren van een model type, « plug - in functie, in de logica van   is onderverdeeld in twee delen: de functies van het beheer en Voor het publiek.Hoewel deze scheiding in de meeste gevallen zinvol zijn, in de betrekkingen tussen beide, je kan ze in een huis.Ik besloot te gaan, dus, het publiek, en zoek  , define_public_hooks, in de klas, wp_license_manager, in  , met inbegrip van het beheer van vergunningen /WP. Php, en wordt de volgende nieuwe actie na twee wp_enqueue_scripts,   actie al bestaat:,, Euro - > lader - add_action ("> -", "plugin_public dollar, add_products_post_type"), en de lijn gebruikt model; en de rol van de toevoeging van een operationele procedures.   wordpress actie gestart.De functie van de  , add_products_post_type,   klasse, in  , wp_license_manager_public, hier.  , alle functies:,, /* * * * * * * de registratie van nieuwe "product" - na gebruik van het product, kan ook de aankoop door de vergunning manager.* /openbare functie add_products_post_type () {register_post_type ('wplm_product', - ('labels'=> - (naam => __ ('Products', $this-> plugin_name),'singular_name'=> __ ('Product', $this-> plugin_name),'menu_name'=> __ ('Products', $this-> plugin_name),'name_admin_bar'=> __ ('Products', plugin_name $this->),'add_new'=> __ ('Add ", $this-> plugin_name),'add_new_item'=> __ ('Add New Product', $this-> plugin_name),'edit_item'=> __ ('Edit Product', $this-> plugin_name),'new_item'=> __ ('New Product', $this-> PLugin_name),'view_item'=> __ ('View Product', $this-> plugin_name),'search_item'=> __ ('Search Products', $this-> plugin_name),'not_found'=> __ (geen producten gevonden, $this-> plugin_name),'not_found_in_trash'=> __ (geen producten gevonden in trash', $this-> plugin_name),'all_items'__ (=> Ik noem mezelf Products', $this-> plugin_name),),'public'=> waar de'has_archive'=> waar de'supports'=> - (titel,'editor','author','revisions','thumbnail'),'rewrite'=> - ('slug'=>'products'),'menu_icon''dashicons-products', =>));}, laten we het doen functioneren en door, met andere woorden, de parameters voor de functie van register_post_type wordpress,,,, het eerste argument, post_type dollar,, (nr. 6) gedefinieerd voor het beheer van de vraag de banden en wordpress van dit soort banen naar type Identifier (ik, na wplm_product, om te voorkomen dat - andere ingrepen en betreft het creëren van botsing).,, de tweede parameter (, 7 - 28) is een reeks definities van de kolom   aard (een volledige opties, kun je de lijst controleren,   wordpress Wetboek):,,, de etikettering, de definitie van een groep Voor: in je touw. Het beheer van de kolom in de open definitie van,,., van dit nieuwe type van de zichtbaarheid van de post.Ik wil een product is rond de website, ik zet deze man, echt.Als, aan de andere kant, je moet houden van producten een privé - zaak, maar die van deze optie, valse,,, has_archive, of de definitie van diensten van dit type wordpress archief vermeld of niet werken, ondersteuning van de definitie van de functies van het latere bewerking in de redacteur.,, herschrijven, de Definitie van een vaste verbinding over het type product kijk, menu_icon.  , vastgesteld voor de in de beheerder de menu 's, een icoon.De toegang tot de lijst van voor de hele dashboard icoon wordpress website. Beursgenoteerde aan toevoegen, en bewerken, producten zijn van je.Wat we moeten doen, is in de hierboven genoemde instellingen aanpassen aan de toevoeging van een - frame, stap 2: informatie voor producten nog een element doos, we hebben nu een gewoonte van de aard van het product, we moeten in de vergunning in het systeem voor het beheer van de opslag van de producten.Maar om de pijler nuttiger, laten we blijven er een doos productspecifieke informatie.,, dit is de doos. -:,,,,, in de eerste plaats, laten we nog een doos halen - actie.  , add_meta_boxes_ {}   post_type, een goede keuze is nog beschikbaar zijn: {post_type}, en Je acties worden genoemd als het tijd is voor een bepaald type na toevoeging van elementen van het vak (in ons geval,  , wplm_product,), van ons werk, als van de administratieve regio 's, ook nog de volgende code functie  , define_admin_hooks (), die met name de plug - in de klas. Wp_license_manager:,, de dollar - > lader - > add_action ("add_meta_boxes_wplm_product, plugin_admin dollar" add_product_information_meta_box "); de functie van  ,,,, add_product_informatioN_meta_box (), wp_license_manager_admin, een definitie van de doos, en waardoor de functie - weergave van de inhoud:,,, /* * * * * * * - doos in het product informatie geregistreerd.- doos in de "product" dat na de redacteur.* Param $post wp_post voorwerp van toepassing na - doos * /openbare functie add_product_information_meta_box ($post) {add_meta_box (informatie over het product, __ - box "(" het betrokken product informatie "dollar - > plugin_name), - ($," "," "wplm_product render_product_information_meta_box)," gezicht ");}, functie, alleen die noemen   wordpress functie, add_meta_box, definieert - doos.Om de spelen de volgende parameters:,,,, ID:HTML id - waarde voor doos element.,, $titel: titel van de dollar in het bovenste deel van de zaak blijkt dat de doos,.,, - functies zal doen: de dollar, die post_type dollar - doos.,,,: post - pagina 's redacteur, de doos moeten tonen. Context: - Dozen, van $, moeten worden waar (normaal,  'advanced "of"  'side).,, de volgende toevoeging van die functie, de definities van artikel drie parameters:,, /* * * * * * * - doos aan de producten informatie (wplm_product).* Param $post wp_post wordpress objecten worden verleend.* * * * * * * /openbare functie render_product_information_meta_box ($post) {% product_meta = get_post_meta ($na > de identiteit van 'wp_license_manager_product_meta ", waar); als (!Is_array ($product_meta)) {% product_meta = array ("file_bucket" > "," file_name ">" en "versie" = > "," test "= >", "moeten" = > "," update "= >", "banner_low" > "," banner_high "= >");} $dit > render_nonce_field ("product_meta_box") ("); verzoekt product_meta_box /index.php);},,, 7: ten eerste, in de huidige functie van metagegevens lezen.,,,, - 9 - 20: als de gegevens lege (is het op dit punt, in feite,...), het creëren van een standaard data - nul.,,,,   22: tijdelijke gebied zal worden gebruikt voor het drukken van een extra beveiligingMetagegevens worden gered.En render_nonce_field, ik heb om me te helpen herinneren aan de functie van de verzonnen naam.We zullen het nog in een kleine,.,,,,, met inbegrip van de werkelijke   24: http: //europa.eu.int - doos.De gids is, als deel van de scheiding van PHP: //europa.eu.int /comm /wordpress - model, betekent dat.Hier is het dossier - model voor de doos moeten:  ,, <?PHP /* * * * * * * « produkten van mening - doos.Voor de invoer van producten van de lijst van producten - aanvullende informatie (versie van document vat, de naam.* * * * * * * * * * * * * * * * * * * * * @ pakket wp_license_manager verpakking wp_license_manager /management //???????> < p> < = "etikettering" > wp_license_manager_product_version <?_e (PHP versie, de dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_version "naam" wp_license_manager_product_version waarde "=" <?PHP ECHO esc_attr ($product_meta ['version "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_tested > <?PHP _e ("test", wordpress versie: de dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_tested "naam" wp_license_manager_product_tested waarde "=" <?PHP ECHO esc_attr ($product_meta ['tested "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_requires > <?PHP _e ("moeten", wordpress versie: dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_requires "naam" wp_license_manager_product_requires waarde "=" <?PHP ECHO esc_attr ($product_meta ['requires "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_updated > <?PHP _e (de laatste update: "dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_updated "naam" wp_license_manager_product_updated waarde "=" <?PHP ECHO esc_attr ($product_meta ['updated "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_banner_low > <?PHP _e ("vlag", laag: de dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_banner_low "naam" wp_license_manager_product_banner_low waarde "=" <?PHP ECHO esc_attr ($product_meta ['banner_low "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_banner_high > <?PHP _e (spandoeken: "dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_banner_high "naam" wp_license_manager_product_banner_high waarde "=" <?PHP ECHO esc_attr ($product_meta ['banner_high "]);?> maat "=" 25 "> < /P > < H > download < /H > < p> < =" etiket wp_license_manager_product_bucket > <?PHP _e (S3 emmer: "dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_bucket "naam" wp_license_manager_product_bucket waarde "=" <?PHP ECHO esc_attr ($product_meta ['file_bucket "]);?> maat "=" 25 "> < /P > < p> < =" etiket wp_license_manager_product_file_name > <?PHP _e ("de naam van de Amazone S3:" dollar - > plugin_name);?> < /etiket > < input vormen voor de tekst "=" wp_license_manager_product_file_name "naam" wp_license_manager_product_file_name waarde "=" <?PHP ECHO esc_attr ($product_meta ['file_name "]);?> maat "=" 25 "> < /P >,, model is heel eenvoudig: //europa.eu.int /comm /, gevolgd door invoer van de etikettering van een reeks elementen en hun waarden, product_meta dollar, we zoeken de functie van boven, nu, met de matrix - kit, het creëren van, laten we zorgen voor het behoud van de gegevens stap 3:.,, het behoud van de gegevens - doos, misschien heb je gemerkt dat, als de ontwikkeling van een wordpress « plug­in », de toevoeging van een nieuw blok functie altijd bij het vinden van een geschikte acties of het filter, Dit is echt.   en het redden van de gegevens - kit, deze keer. Dat de actie, save_post, namelijk de activering in het behoud van je.Nogmaals, in de klas, wp_license_manager, en de functie van define_admin_hooks () en de toevoeging van een nieuwe lijn:,, Euro - > lader - > add_action ("save_post, plugin_admin dollar" save_product_information_meta_box "); de functie van save_product_information_meta_box,,,,, lopen in de wp_license_manager_admin:,,,, /* * * * * * * de product informatie - behoud van de inhoud van de doos.* Param $post_id int id en redden.* * * * * * * /openbare functie save_product_information_meta_box ($post_id) {als.De dollar - > is_nonce_ok ("product_meta_box") {terug post_id dollar te redden;} ///////automatisch als (definitie ("doing_autosave") & & doing_autosave) {terug post_id dollar controleren;} ///////gebruiker, als (!Current_user_can ("edit_posts, post_id dollar)) {terug post_id dollar;) ///////gebruiker van lezen, ontsmetting, opslag, = get_post_meta (post_id dollar wp_license_manager_product_meta", ", waar); als ($) = =") {% = (();} $element ['file_bucket "] = sanitize_text_field ($_post ['wp_license_manager_product_bucket"]); $element ['file_name "] = sanitize_text_field ($_post ['wp_license_manager_product_file_name"]); $element ['version "] = sanitize_text_field ($_post ['wp_license_manager_product_version"]); $element ['tested "] = sanitize_text_field ($_post'wp_license_manager_product_tested" [] ['requires $dollar); sanitize_text_field ($_post "] = [], ik'wp_license_manager_product_requires");Ta ''updated "] = [sanitize_text_field ($_post ['wp_license_manager_product_updated"]); $element ['banner_low "] = sanitize_text_field ($_post ['wp_license_manager_product_banner_low"]); $element ['banner_high "] = sanitize_text_field ($_post ['wp_license_manager_product_banner_high"]); ///////- gebied bijgewerkt update_post_meta (post_id dollar "wp_license_manager_product_meta"), element);}, laten we zien wat het doet met de functie:,, 7 - 9,   weet je nog, dat we nog een tijdelijke gebieden op die producten - doos.In deze functie, gebruiken we willekeurig nummer bewijzen wie de man is het publiceren van gegevens uit de vorm van de functie van ons zal toevoegen, is_nonce_ok, snel), 11, 14: - lijn, geen element doos gegevens als wordpress regelmatig te redden.Dat is omdat het in gebreke blijven, niet door het element doos wordpress gegevens te doen op Ajax automatisch te redden, dus op dat punt een bijwerking van gegevens - doos zal verpesten, 16 - 19: gegevens alleen kunnen redden, als de gebruikers kan de redactie posten.Een ding moet rekening worden gehouden met de redactie van het beheer in de toekomst zal de vergunning van de toevoeging van een speciaal vermogen van het product., 22, 25, in de lijn van het lezen van bestaande producten –: gegevens, of de oprichting van een nieuwe installatie voor de metagegevens wordt bewaard, maar als er geen get_post_meta (,, de terugkeer van een lege string, zonder dat de metagegevens en de de drie parameters, echt,), 27 - 34, de: bij de indiening van de gegevens te lezen, wat de volksgezondheid 37:,,,, alles oké, het bewaren van gegevens,,, nu, voordat we de vergunning, we doen het laatste ding wat ik heb goed en de toevoeging van destructie en verificatie van tijdelijke extra functies - doos.  , ten eerste, het creëren van een:,, /* * * * * * * een ondersteunende functie voor het creëren en de tijdelijke gebied.* Param $nonce_label interne (korte) een verzonnen naam * /private functie render_nonce_field ($nonce_label) {% nonce_field_name = dollar - > plugin_name. "_ ".Nonce_label dollar. "_nonce "; nonce_name dollar = dollar - > plugin_name."_ ".Nonce_label dollar; wp_nonce_field (nonce_name dollar nonce_field_name);}, en dit is de kern van de telefoon, wp_nonce_field, en creëren voor tijdelijke schreef een verborgen: //europa.eu.int /comm /  gebied een teken het praktische werk.,, controleer dan:,, /* * * ondersteunende functie test producten - doos.* Param $nonce_label interne (korte) een verzonnen naam * @ terugkeer gemengde valse als tijdelijk niet goed.1 of 2 als het goed is ("kijk wp_verify_nonce) * /private functie is_nonce_ok ($nonce_label) {% nonce_field_name = dollar - > plugin_name."_ ".Nonce_label dollar. "_nonce "; nonce_name dollar = dollar - > plugin_name."_ ".Nonce_label dollar; als (!(_post dollar is $nonce_field_name []) {}) terugkeer valse. $_post (= [nonce_field_name]; terug naar wp_verify_nonce (op dit moment, nonce_name dollar);}, tijdelijke controle functie, met dezelfde naamgevingsconventies, de functie van boven te halen, en dan gebruik te maken van hun indiening van gegevens (11 - -   (15), afdeling.En dan, als de voorlopige bevindingen, het gebruik van wordpress, controleert of het ingediende wp_verify_nonce, de code komt overeen met het redden van (,,, lijn   17, 3).Voeg vergunning, dat we nu in de eerste les in de reeks: producten komen, nu is het tijd om de in de vergunning zien.,, in de meest eenvoudige vergunning bestaat uit twee delen: een vergunning, een   (user - ID 's, zullen wij met behulp van een e - mailadres het).In de vergunning voor meer controle, zullen we ook een derde element: een vergunning, datum, na de datum waarop de vergunning die niet langer geldig is, niet van de onze vergunning server bijgewerkt.  , en het beheer van de vergunning interface zal is vergelijkbaar met de producten die we creëren: het creëren van nieuwe vergunningen en Een een lijst van opties.Maar, de tenuitvoerlegging, het zal heel anders: wanneer een product en de metafoor goed is voor de verwezenlijking van de natuur, dus als een gewoonte in dit type vergunning is het beste gebruik maken van de databank.,, stap 1: het creëren van een databank, de vergunningen voor de bouw van de functie, het creëren van een databank te houden het creëren van een nieuwe vergunning.   de databank op de meest natuurlijke   plug - in - als de gebruikers de kans om het te proberen, in de tabel met   doen.,, wordpress » model om het makkelijker te maken om een lege functioneren, kunnen we beginnen met de opstelling van de Code.Functie te activeren, in de klas, wp_license_manager_activator, is elke plug - in het geactiveerd is, kan   geactiveerd door te klikken,  , in  , plug,   menu 's of als een plug - ins.  ,, in de eerste plaats, wordt de volgende definitie van de variabelen in de categorie van de Top van de versie van de databank, /* * * * * * *).Elke wijziging van de structuur van de databank, die moeten worden bijgewerkt.* * * * * * * * * * * * * * * * * * * * * @ toegang te hebben tot de beschermde waarden db_version dollar versie van de databank van de statische db_version * /bescherming van $= 1;,, dan met de volgende code update activering:,,, /* * * * * * * in de « plug­in » de code is geactiveerd.(*) /de statische functie activeer () {///////actualisering van de gegevensbank als database versie is $current_db_version = get_option ("wp het beheer van vergunningen; als de versie van de databank (").Current_db_version dollar) {% current_db_version = 0;} als (intval ($current_db_version) < wp_license_manager_activator:: $db_version) {als (wp_license_manager_activator:: create_or_upgrade_db () {update_option (WP vergunningen beheer "versie van de databank, wp_license_manager_activator:: db_version dollar);}}}, hier, wat is de functie van:,,, 6 - 9: lezen, bij de keuze van het beheer van vergunningen, WP versie van de databank.We zullen gebruik maken van deze mogelijkheid voor de opslag van de database - versie van de website momenteel actief.,,, 11:, in vergelijking met de huidige versie van de databank een plug - in de definitie van de code in de bibliotheek (,, db_version dollar, zoals hierboven gedefinieerd).Als een versie van de code van de « plug­in » dan een opslag in je opties, geactualiseerde databank nodig is.  ,,, 12: exploitatie van de bijwerking van het gegevensbestand,,,,,, als het succes van 13: bijwerking van het gegevensbestand, bijwerken, WP het beheer van vergunningen in de versie van De databank met de versie van de code,  . , nu, we hebben een database van het systeem voor de registratie van de versie van de databank, kan creëren.Toevoeging van de volgende functies:,, /* * * * * * * wp_license_manager_activator, de oprichting van een databank die nodig is om de tafel van de « plug­in », als ze er niet zijn.Of zo nodig worden bijgewerkt.* @ terug waar als bijwerking van succes.* * * * * * * /statische create_or_upgrade_db (functie) (Global $wpdb; table_name dollar = $wpdb - > het voorvoegsel. "Product_licenses "; charset_collate dollar ="; als (!Lege ($wpdb - > tekenset)) {% charset_collate = Standaard tekenset {$wpdb - > tekenset};) als (!Lege ($wpdb - > afwerking)) {% charset_collate. = "te organiseren ($wpdb - > afwerking)"; "het creëren van een tabel} $SQL =".Table_name dollar. "("."(9) de id niet leeg auto_increment MEDIUMINT "."(9) de standaard 0 product_id MEDIUMINT niet leeg, "".License_key varchar (48) niet leeg, "".Varchar (48) niet leeg, e - mail "."Valid_until datetime standaard 0000-00-00 00: 00: 00 "niet leeg," ".Created_at datetime standaard 0000-00-00 00: 00: 00 "niet leeg," ".Updated_at datetime standaard 0000-00-00 00: 00: 00 "niet leeg," ".De unieke identificatie van de sleutel (logo) "."). charset_collate dollar. "; "; require_once (abspath."Met inbegrip van de beheerder /WP /upgrade.'/library/loader.php'); dbDelta ($SQL); terug waar;}, het meest van de functie, het creëren van de verklaring, het creëren van tafel, vraag, we worden gebruikt voor het creëren van een databank:,,,, de oprichting van een databank van tabel 10: de naam,, lijn weg. 12, - - de definitie van een tekenset, zal uiteindelijk voor SQL.,,, - 20 - 29: de tabel, creëren, vraag.Het Bureau zal de volgende rubrieken:,,, voor de id: mogelijk enige id. Product_id:,, de vergunning, de identificatie van het product is in verband met de license_key:.,,, een string - rijbewijs als wachtwoord.,, e - mail: vergunning, de eigenaar van de e - mail. Als een gebruikersnaam.,, valid_until: vergunning, de vervaldatum van created_at:.,,, in de oprichting van tijd verlof, updated_at:.,, het laatste nieuws van de tijdstempel.,,, - 31 - 32: het gebruik van de methode voor de aanpassing van dbDelta wordpress database, het creëren of bijwerking van De   database.Dat dbDelta in feite niet functioneren, het creëren van tafel, vraag, maar de analyse en vergelijking van de huidige structuur van het formulier, de nodige wijzigingen aan te brengen.  ,, dus, als u besluit om wijziging van de structuur van de tabel, in plaats van het schrijven van een nieuwe vraag, krijg je alleen Maar deze tabellen, bewerken, vraag. Update, db_version dollar, parameters, en dat dbDelta met de rest.  , ongeveer in je database in het creëren en gebruiken van meer informatie dbDelta, lezen, gecreëerd in de Codex - wordpress.,, dat is alles.De volgende keer als de activering van de « plug­in », zal het creëren van een rijbewijs database.Als je het activeren van de « plug­in », je moet een (af en dan weer geactiveerd) het opzetten van een databank. Stap 2: het creëren van een menu, vergunning pagina 's, en nu hebben we de oprichting van een databank opgeslagen toestemming van tafel, zodat we het menu' s: "vergunning" en " , de toevoeging van nieuwe,  ,,". We beginnen weer met de juiste actie, de functie van de wp_license_manager, define_admin_hooks:,,,,,, dat > laders - > add_action ("admin_menu, plugin_admin dollar" add_licenses_menu_page "); de motorische functies, add_license_menu_page,,,,, wp_license_manager_admin, maar ziet er als volgt uit:,, /* * * * * * * het creëren van het menu en de menu 's lijst toegevoegd en vergunningen.* * * * * * * /openbare functie add_licenses_menu_page () {add_menu_page (__ ("vergunning" dollar - > plugin_name), __ ("vergunning" dollar - > plugin_name), "edit_posts", "vergunning"), - ($, "render_licenses_menu_list"), dashicons "slot", "26.1 (" "); add_submenu_page WP vergunning", __ ("vergunning" dollar - > plugin_name), __ ("vergunning" dollar - > plugin_name), "edit_posts", "vergunning"), - ($, "render_licenses_menu_list") ("); add_submenu_page WP. Voor De __ (", de toevoeging van nieuwe dollar - > plugin_name), __ ("het toevoegen van nieuwe dollar - > plugin_name)," edit_posts ","De nieuwe reeks (WP toestemming $," render_licenses_menu_new ");}, laten we het eens:  , 5 - 13:,,  , het creëren van een" menu 's van de titel, "vergunning".De functie van add_menu_page moet aan de volgende parameters:,,,,,, page_title dollar: menu 's titel etikettering). ,, menu_title dollar, voor een scherm: titel,,, $vermogen: de pagina 's van de vaardigheden die nodig zijn.Ik heb gebruikt, edit_posts, in de toekomst, maar zou ik misschien in plaats van de toevoeging van een vermogen van mijn eigen menu_slug dollar.,,,: voor de menu 's identificatiecode voor het Internetadres van de website, $functie:., functie, zal omgaan met het menu' s en de op dit gebied, icon_url dollar: kan worden gebruikt voor een aantal verschillende manieren, maar ik kies je om met het dashboard icoon leggen voor de les van de positie van de dollar, de menu 's,: in je de locatie van het menu.Het gebruik van deze parameters voor het probleem is, als een menu met dezelfde standpunten, waarden, slechts een zal worden weergegeven.Volgens de wordpress dossiers, gebruik te maken van een decimale, wat we hier doen, is een beetje hulp,,, 15 - 22: lijst van de vergunning aan de menu 's.De parameters, add_submenu_page, ja, dezelfde add_menu_page,   maar het eerste argument is de Top van de menu 's id' s moeten worden verhoogd.  , en ook moet worden opgemerkt dat we de eerste sub menu zoals de motorische functies, de bovenste kaart.Dit is als de gebruiker op de top - menu 's, de eerste menu openen?.,,, 24 - 31: tweede menu is een we zullen beginnen, de toevoeging van een nieuwe vergunning pagina' s.  , zodat de wijsheid van die code,

WordPress plugin screenshot
Meta box for Product Information
Add New License page
Licenses page in plugin



Previous:
Next Page: