wordpress plugins architectuur, de ontwikkeling van de « plugin » « model wordpress:,,,,,,,,,, uitwisseling van aandelen, 19,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' dit artikel niet missen, is dat voor de ontwikkeling van een reeks wordpress « de ontwikkeling van deel van je. - waarom wordpress: documenten over het model een model, in het eerste artikel van deze reeks, zien we een verbetering van de ontwikkeling van het model kan je een basis vormt voor de projecten, Je kan. Het ideaal zijn dat model moeten voldoende kader begonnen, om je te laten concentreren op specifieke logica, de kern moet, of specifieke domein van de code, moet je schrijven, om precies te zijn, nemen we in je dossier en van de « plugin » « uiterlijk wordpress model.In dit verslag zullen wij gebruik maken van de « plugin » « om eigen model te zien een model vormt de basis voor de opstelling van documenten, de goede code, en hoe we het gebruiken als een uitgangspunt van ons werk in de toekomst.,,, een boodschap van plug - in dit artikel zullen we de oprichting van Een na de kennisgeving van de instrumenten om op hun website met de toevoeging van een nieuw bericht.Dit is in feite gebaseerd op een plug, reeds in de wildernis, je kan een voltooide projecten hebben een referentiepunt, en de rest van mijn training. Ik hou van programma 's voor laten we zien dat we alles doen:,, het downloaden van een model van het invullen van de wordpress « doen met je. De specifieke informatie over hun project, nodig voor de uitvoering van de code in een doos na dollar opgeslagen informatie, na onderzoek van de bestaande - en de voltooiing van de inhoud van de eigen positie, en, in het algemeen, en dit is een relatief eenvoudige ingrepen, maar het moet voorzien in de voorbeelden van hoe het dossier dat je je concentreert op de specifieke functie van je, alle wEn de beste praktijken in het kader van de wordpress.,, de bouw van onderdelen, 1.DOWNLOAD wordpress « model, om te beginnen, moet je download een wordpress - model.Je kan via de binnenvaart in de github en klik op '- knop, zie je bovenaan de pagina of klik hier, en de volgende stap, de winning van de « downloaden op je lijst.Het moet in de eerste plaats om de naam van een gids, » model,.,,, noemen, een boodschap.Op dit punt, we zijn klaar om te beginnen in de source code van het monster.2.Het ingevulde model, de volgende stap, open, laat een bericht achter, je favoriete ide catalogus.Het eerste wat we moeten doen plugin.php, open de deur, en om alle achterstand in de code bestaat uit de doos, code zal uitzien:, <?PHP /* * * * * * * « plug - ins naam: uri: TODO: versie: 1 van de auteur te doen: e - mail: doen: uri voor 2013 het auteursrecht te onderwerpen ([email protected]) dit programma is gratis software; je kunt de herverdeling en /of de wijziging van de beloften van de Op de voorwaarden van de vergunning, in de versie van vrije software voor 2, worden gepubliceerd.Dit programma is verdeeld in de hoop dat het nuttig is, maar er is geen garantie, zelfs niet de verhandelbaarheid of de impliciete garantie voor een bepaald doel.Voor nadere gegevens wordt verwezen naar de beloften van de vergunning.Heb je een kopie ontvangen van de beloften van de vergunning; zo niet, een brief te schrijven aan de vrije software Foundation Ltd, Franklin Street nr. 51 van de vijfde verdieping, Boston, ma 02110-1301 * ////////Verenigde Staten TODO: Nomenclatuur van deze voor je pluginname {- * * * * * * * * * * * * * * * - * * * * * * * * * * * * * * --------------- --------------- -------------- --------------- --------------- -------------- fabrikant ///////* * * * * * * * * * * * * * * * * * * * * - Plug - ins die locatie, filters, en leidinggevende functies.* * * * * * * __construct () {////////de functie van de tekst add_action ("- » -" - ($, "plugin_textdomain"); ///////registration stijl en scenario 's add_action ("admin_print_styles array ($," register_admin_styles ") ("); add_action admin_enqueue_scripts array ($, "register_admin_scripts"); ///////geregistreerde websites stijl en scenario' s add_action ("wp_enqueue_scripts array ($," register_plugin_styles ") ("); add_action wp_enqueue_scripts array ($, "register_plugin_scripts"); ///////Register haak emissie, als de « plugin » wordt geactiveerd, uitschakelen en lossen waren.Register_activation_hook (__file__ array ($, "activeren"); register_deactivation_hook (__file__ array ($, "uit"); register_uninstall_hook (__file__ array ($, "kwijting"); * * * * * * * * * * * * * * TODO: definitie en van de « plugin » omschreven taken.De add_action /add_filter noemen. Het eerste argument is dat de code moet het vuur Je haak.* * * * * * * * * * * * * * in de categorie van de parameters is in naam van de functie.- achter de * * * * * * * dossier zien.* * * * * * * * * * * * * * * * * * * * * HTTP://voor meer informatie: manuscripten. Wordpress. Org /plugin_apihooks.2c_actions_and_filters * /add_action ("doen", reeks ($, "action_method_name"); add_filter ("doen", reeks ($, "filter_method_name"); ////////* * * * * * * * * * * * * *) de fabrikant het ontslag als de « plugin » wordt geactiveerd.* Param booleaanse network_wide dollar als administrateur gebruik maken van het netwerk te activeren "acties, valse als kunnen worden uitgeschakeld of toevoegingen die in de blog * /openbare functie geactiveerd geactiveerd ($network_wide) {///////TODO: definitie van activering hier) ////////* * * * * * * - activering van schieten, de naam is uitgeschakeld.* Param booleaanse network_wide dollar als administrateur gebruik maken van het netwerk te activeren "acties, valse als kunnen worden uitgeschakeld of toevoegingen die in de blog * /openbare functie - activiteit (% network_wide) {///////TODO: definitie van de functies van de inactivering van hier aan het einde van de * * * * * *) ////////lossing tijdens het schieten met Plug - ins.* Param booleaanse network_wide dollar als administrateur gebruik maken van het netwerk te activeren "acties, valse als kunnen worden uitgeschakeld of plug - in - persoonlijke blog * /openbare functie lossen ($network_wide) {///////TODO: definitie uitladen hier) ////////* * * * * * * * * * * * * * - lading lossen vertaling /openbare functie plugin_textdomain () {///////- gebied van de tekst te schrappen: in plaats van" plug - in naam en plaats van de « plugin » "load_plugin_textdomain unieke waarde (" plug - in naam van de valse, dirname (plugin_basename (__file__)). "////////lang "); aan het einde van de rij plugin_textdomain /* * * * * * *) van het beheer van de specifieke wijze van registers.* * * * * * * /openbare functie () {///////register_admin_styles TODO: veranderen je « plug - in naam "wp_enqueue_style naam (" plug - in naam van het stijl, plugins_url ("in naam van de beheerder /CSS /. ///////-"); aan het einde van het register register_admin_styles /* * * * * * *} en rij specifieke javascript.* * * * * * * /openbare functie () {///////register_admin_scripts TODO: veranderen je « plug - in naam "wp_enqueue_script naam (" plug - in naam van het script, plugins_url ("ins" naam /JS /beheerder. J 's "); ////////* * * * * * * register_admin_scripts) aan het einde van het register en de specifieke wijze van de « plugin ».* * * * * * * /openbare functie () {///////register_plugin_styles TODO: veranderen je « plug - in naam "wp_enqueue_style naam (" « plug - ins naam, plugins_url ("ins" naam /CSS /CSS "); ////////* * * * * * * register_plugin_styles) aan het einde van het register en de in de specifieke scenario 's - team.* * * * * * * /openbare functie () {///////register_plugin_scripts TODO: veranderen je « plug - in naam "wp_enqueue_script naam (" plug - ins. Naam, plugins_url ("ins" naam /JS /display J 's ") aan het einde van register_plugin_scripts); ////////* * * * * * * * * * * * * *) * * * * * * * * * * * * * * * * * * * * * de belangrijkste functie hier --------------- --------------- -------------- ///////* * * * * * * * * Noot: acties is een pagina' s of in de levenscyclus van het proces van de uitvoering van punt, je staat in brand.Actie: * * * * * * * HTTP://wordpress Codex. Wordpress. Org /plugin_api* * * * * * * * * * * * * * http://codex.wordpress.org/plugin_api/action_reference actie actie Referentie: action_method_name () {////////de functie van de actie voor je TODO: definitie van het einde van action_method_name) ////////* * * * * * * Noot: de tenuitvoerlegging van het filter, wordpress wijziging van gegevens - * punt opslag of overdracht van het in de auto.* * * * * * * HTTP://wordpress filter: manuscripten. Wordpress. Org /plugin_apifilter. Referentie: http://codex.wordpress.org/plugin_api/filter_reference * /functie () {///////filter_method_name TODO: deze definitie} je de filters voor het filter_method_name) /////////- achterstand van de « plugin » genoemd: de vernieuwing van de concretisering van de definitie in de categorie plugin_name dollar = nieuwe pluginname () de naam, de volgende stap moeten we een lijst; dat elke verandering van de « plugin », dus we moeten de specifieke lokale en plug - in naam van alle voorbeelden, bijvoorbeeld:,, vervanging, plug - in naam van de berichten na, je URL 's, alternatief - URL, gevuld met naam en e - mailadres van alle personen, en informatieWat werkt, de naam van de soort, de naam van een regio, post_message, de string, naam en id, laat een bericht achter, en dan kunnen we ook het verwijderen van alle javascript en stylesheet noemen , behalve, admin.css, styles.We zullen het gebruik van deze documenten.De volgende documenten: het model te schrappen,,, van mening dat de CSS /« /PHP, CSS, js,, /administratieve. Js,,, /« /js.,,, dat moet worden overgelaten aan de lijst van onder je structuur:,, let op, dit is een model van een ding: als het mogelijk is je moet worden geschrapt.Als je nog iets wilt toevoegen, om je te helpen uit de grond of de meer fundamentele - dan is het misschien een kans is, te verbeteren, in ieder geval, maar we zijn nog niet klaar, maar we zullen worden toegevoegd aan de « plugin », documenten moeten zo op dit punt, <?PHP /* * * * * * * « plug - ins naam: Tom mcfarlin URI:http://tommcfarlin.com/single-post-message/beschrijving: een eenvoudige methode voor elke post op de top, nog een boodschap.Versie: 1 auteur: Tom mcfarlin auteur URI:http://tommcfarlin.com/auteur van e - mail: [email protected] licentie auteursrecht 2013: Tom mcfarlin ([email protected]) dit programma is gratis software; je kunt de herverdeling en /of de wijziging van de beloften van de openbare op de voorwaarden van de vergunning, in de versie 2, afgegeven door het ESF.Dit programma is verdeeld in de hoop dat het nuttig is, maar er is geen garantie, zelfs niet de verhandelbaarheid of de impliciete garantie voor een bepaald doel.Voor nadere gegevens wordt verwezen naar de beloften van de vergunning.Heb je een kopie ontvangen van de beloften van de vergunning; zo niet, een brief te schrijven aan de vrije software Foundation Ltd, Franklin Street nr. 51 van de vijfde verdieping, Boston, ma 02110-1301 de * * * * * * * * * * * * * * * * * * * * * * post_message {/les constructeurs --------------- --------------- -------------- --------------- --------------- -------------- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ///////- plug - ins die locatie,. En leidinggevende functies.* * * * * * * __construct () {////////de functie van de tekst add_action ("- » -" - ($, "plugin_textdomain"); ///////registration stijl en scenario 's add_action ("admin_print_styles array ($," register_admin_styles "); aan het einde van de fabrikant) ////////* * * * * * * * * * * * * * /openbare functie van kracht. Plugin_textdomain () {load_plugin_textdomain plug - in de tekst (", de "valse, dirname (plugin_basename (__file__))."////////lang "); aan het einde van de rij plugin_textdomain /* * * * * * *) van het beheer van de specifieke wijze van registers.* * * * * * * /openbare functie register_admin_styles () {wp_enqueue_style ("bericht beheer", plugins_url (na de piep /CSS /beheerder. De CSS)); //////////////register_admin_styles}) aan het einde van het einde van de nieuwe post_message (les); de volgende stap moeten we echt beginnen te werken in de kern van onze logica, 3.Dat moet na de dollar in de doos en opslag van informatie van de code, ten eerste, moeten we bepalen hoe dit in zijn werk gaat, zullen we laten zien dat een doos rechtstreeks op grond van de inhoud van de yuan redacteur, zal het een tekst met inbegrip van regio 's, om de gebruikers van hun inhoud, wanneer het een na het nieuwe gered moet worden, de tekst van de regio' s, dus het eerste wat we moeten doen, is de invoering van een haak en een functie voor het vangen van gegevens na de dollar, in de doos.In de fabrikant, wordt het volgende toegevoegd:,, we add_action ("add_meta_boxes array ($," add_notice_metabox "); de volgende definitie van,,, we moeten de functie, add_notice_metabox, zodat we het element doos, dus we bieden van functies, taken add_notice_metabox () {add_meta_box (nu:'post_message", __ ("maar", de "post"), - ($, "post_message_display"),'post ", de" normale ","); ///////add_notice_metabox na het einde}, we moeten schrijven, een functie die de inhoud van de posten, die verantwoordelijk zijn voor de praktische post_message_display (functie:, $post) {wp_nonce_field (plugin_basename (__file__ "), post_message_nonce"); ///////textfield en preview gebied ECHO.LT; de tekst id = "boodschap" naam "post_message" = "reserve".__ ("in je bericht hier.Http: //europa.eu.int aanvaarden. "," maar ").> ".Esc_textarea (get_post_meta ($na > de identiteit van 'post_message ", echt))."< /tekst > "; aan het einde van post_message_display) ///////meer aandacht, en we hebben ingevoerd in het belang van de veiligheid van tijdelijke gebied.Ook op dat we aan deze tekst, het nieuws van de id, dus we kunnen het gebruik van de middelen, de CSS, we hebben de naam van het post_message, goed van pas komen, als we de inhoud van de tekst van het behoud van de specifieke posten, de metagegevens, tot slot, we hebben esc_textarea voordeel, functie, om ervoor te zorgen dat de we hebben de gegevens correct in de tekst van de code, op dat punt, laten we het gebruik van modellering van het licht, admin.css toe te voegen documenten na, aan de boodschap in een iets andere zien en voelen van de inhoud van een bericht (breedte: 100%, #;}, dat leidt tot de volgende woorden:,, we zijn natuurlijk nog niet doen.Als de gebruiker op de "gepubliceerd" of een "update" knop, we moeten echt redden en opzoeken van gegevens.Om dit te bereiken, moeten we een call - back - opgeslagen gegevens, dus wat we moeten doen is het laatste ding, save_notice, functioneren.Ten eerste, we moeten van de fabrikant voor de registratie van deze met de volgende code:,, add_action ("save_post array ($," save_notice ");,, en dan zullen we een definitie van de volgende functies, save_notice ($post_id) {als lid is ($_post ['post_message_nonce]) && & is ($_post [])) {///////'post_type niet redden, als de gebruikers geen dienen veranderingen als (definitie (" doing_autosave ") & & doing_autosave) {terugkeer; ////////controle van de input van} Als passende vorm (!Wp_verify_nonce ($_post ['post_message_nonce], plugin_basename (__file__)) {terug;) ////////om ervoor te zorgen dat de gebruikers als de machtigingen, als ("na" = = $_post ['post_type]) {als.Current_user_can ("edit_post, post_id dollar)) {}) de terugkeer; ///////////////andere als als de informatie na te lezen post_message dollar = //einde ($_post ['post_message])?_post dollar ['post_message]:'; ///////als de waarde na het nieuws, verwijder het.Willen er geen geschreven in de tabel.Als (0 = = aantal (get_post_meta (post_id dollar "post_message")) {delete_post_meta (post_id dollar "post_message")) ////////; als de modernisering van deze post.Update_post_meta (post_id dollar "post_message, post_message dollar); //////////////save_notice}} als het, zoals we al hebben besproken in het vorige artikel redden van de inhoud van de metagegevens de lengte van de kolom, dus ik wil niet doordrammen, maar ik wil alleen maar zeggen, de volgende functies:,, certificaat de rechten van gebruikers om deze informatie, het schrappen van een bestaande na de gegevens met betrekking tot de metagegevens, het redden van de metagegevens, en op dit punt, we zijn klaar voor de test wordt dus in de tekst, het bewaren van gegevens, en om ervoor te zorgen Dat de gegevens, als de pagina vernieuwen, komt ook tot uiting in de tekst, en, indien dit het geval is, zijn we klaar om verder te gaan, om ervoor te zorgen dat de code leek je anders. Als de code 4.En na de kennisgeving, de volgende stap, zijn we klaar om in de inhoud van die e - mail.Deze procedure is als volgt:,, en, the_content, filter register, na onderzoek van de metagegevens voorhanden zijn, zodat het voor de inhoud van deze als nu, laten we dit doen.Ten eerste, laten we de registratie van een functie, the_content, filter:,, add_filter ("the_content array ($," prepend_post_message ");,,, laten we de eigenlijke functie van de functie van de installatie, prepend_post_message ($inhoud) {///////als er een bericht in de inhoud ervan, als (".= get_post_meta (get_the_id (), post_message "," echt ") {% post_message = < P =" boodschap ">"; post_message dollar. = get_post_meta (get_the_id (), "post_message, waar); post_message dollar. =" < /P > <.- /. Na het nieuws - > "; post_message $inhoud = $.$inhoud als naar inhoud;) //////////////prepend_post_message;} na kennisgeving aan het einde van de informatie is opgenomen, en in jezelf, P, heeft zijn eigen soort van de naam van de elementen die je gemakkelijk kan stijl, maar hou je van, als je Dit wilt doen, op dit punt, moeten we ons om te zien. Alles wat nodig is, laten we het testen.Het creëren van een e - mail, publiceert, en dan op je browser en het schrappen van de inhoud van e - mails, na verificatie, dan niet.5. zelf en de locatie van de voltooiing van het schoonmaken, moeten we ervoor zorgen dat we zelf en de juiste richting, ten eerste, plug, zelf moeten bevatten algemene informatie.Dit is grotendeels subjectief; maar ik een volgende voorbeeld: = = = = = = = = = = = = = = = = = = = = = = = = = =, zelf om een boodschap te sturen aan: tommcfarlin donatie verband: http://tommcfarlin.com/single-post-message/etikettering: de eisen van de arbeidsmarkt ten minste: 3.4.1 getest op: 3,5 stal op het label: 1 vergunning: GPLv2 of van de vergunning voor het in de http://www.gnu.org/licenses/gpl-2.0.html ontspannen na toevoeging van de boodschap en de aankondiging van de post op.In een RSS en blogs.= = = = = = = = E - dat is een plug, kun je nog een speciaal bericht, de bekendmaking en kennisgeving van de persoonlijke positie.Het is de stijl, de lezer in de browser en * * * * * * * * * * * * * *, zal in de RSS in de tekening.Post - informatie...* steun: //europa.eu.int /comm /e - mail gebruik kon worden uitgegeven, direct na de inhoud volledig is klaar voor de vertaling van de lokalisatie van de installatie en het gebruik van = = = = = = 1 wordpress dashboard.Bij de toevoeging van nieuwe plug - in het dashboard 1.De keuze van de "post", 1 van je computer.Uploaden van 1.Op het dashboard wordpress plug - in - het - = = = = = = = 1 FTP.E - extractie. Post 1 in je computer.% quot% post - informatie% quot% catalogus uploaden naar je% quot% WP inhoud /plugins% quot% van categorie 1.Activeer de plug - in in je kamer = = = = = = = = = = = = = = = = 1 * wijziging van de oorspronkelijke vrijgelaten, en ten slotte, - een makkie: het openen van% quot%, plug - ins. Schat,% quot% documenten in de% quot%, lang, om ervoor te zorgen dat de lijst van% quot% ide, je veranderde de naam van de auteur van de « plugin » en informatie, open dan het in poedit geregistreerde - dossier.,, bewaar je werk en je bent klaar om te gaan.,,, in de conclusies van deze reeks, we hebben wat nodig hebben om gebruik te maken van je dossier, hoe ze van invloed kunnen zijn op ons werk, en ons te helpen zich meer te concentreren op de kern van ons project niet het wiel opnieuw uitvindt, opstaan voor veel dingen herhalen, nodig is. Bovendien hebben vastgesteld, een plug - in, dat kan worden gedownload van verder onderzoek. En ik hoop dat dit aantal is voorzien van een toelichting waarom je code is van toepassing wanneer moet worden gebruikt, en bijdragen tot de vrede kan je laten zien hoe ze in elk project een groot deel van de code te schrijven, dezelfde pijn.
De ontwikkeling van het model
Previous:Hoe de code,
Next Page:- waarom doen