udvikling af plugins med wordpress boilerplates: bygning af et stik af

, udvikling af plugins med wordpress boilerplates: bygning af et stik af,,,,, andel,,,,,,,, 19,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet udvikling plugins med wordpress boilerplates. udvikling af plugins med wordpress boilerplates: hvorfor boilerplates spørgsmål i den første artikel i denne serie, vi ser på, hvordan en boilerplate kan forbedre deres indsats ved at yde et fundament af udvikling, som deres projekt kan være bygget. ideelt set boilerplates bør give nok en ramme til at komme i gang, samtidig med at de lader dig fokusere på de specifikke forretningslogik grundlæggende behov, eller emnespecifikt kode, du skal skrive. vi specifikt tog et kig på wordpress dims boilerplates og wordpress stik af boilerplate.i denne post, skal vi udnytte de stik af boilerplate at skrive vores egne stik af for at se, hvordan boilerplates både grundlaget for at skrive en god kode, og hvordan vi kan bruge det som udgangspunkt for vores fremtidige arbejde.,,, en post - budskab, stik af, i denne stilling, vi skal at bygge en efterfølgende anmeldelse dims, der gør det muligt at tilføje en ny post forfatteren besked, før indholdet på deres side.det vil faktisk være baseret på et stik af, som allerede er ude i naturen, så du kan få et referencepunkt, når projektet er afsluttet. som med resten af min tutorials, jeg gerne vil ud af projektet i god tid i forvejen, så lad os lægge alt det, vi skal gøre:,, downloade en kopi af den wordpress stik af boilerplate, udfylder den, med de specifikke oplysninger til deres egne projekter, gennemførelse af denne kodeks for at vise og redde oplysninger i en post - meta - boks, undersøge, om der findes en post - meta - og så gøre det i indholdet, afslutte de gør og lokalisering, generelt er det en forholdsvis enkel stik af, men det skal give et godt eksempel på, hvordan boilerplates giver dig mulighed for at fokusere på deres specifikke funktioner, alle wens arbejde inden for rammerne af wordpress bedste praksis.,, opbygge den dims, 1.downloade wordpress stik af boilerplate, for at komme i gang, har du brug for at downloade en kopi af wordpress stik af boilerplate.dette kan de gøre ved navigation til sin github side, så klik på "nul" knap, at du nær toppen af side eller ved at klikke her. næste, ekstrakt, indholdet af de downloadede dine, plugins, fortegnelse.det skal først skrive en fortegnelse, stik af boilerplate,.,,, kalde det, post - besked.på dette punkt er vi klar til at begynde at arbejde på kildekoden til boilerplate.2.udfyld den, er i boilerplate, åbne, post - besked, fortegnelse i din bedste ide.den første ting, vi ønsker at gøre, er at åbne, plugin.php, og så finde alle de laver er, der findes i kode. ud af den kasse, kode vil se sådan noget, <?php /* stik af navn, stik af uri: todo beskrivelse: todo version 1.0. forfatter: todo forfatter uri: todo forfatter e - mail: todo kørekort: ophavsret 2013, ([email protected]) programmet er gratis software; man kan omfordele og /eller ændre det, inden for rammerne af den nationale samlingsregering i offentligheden, kørekort, 2. udgave som offentliggjort af fri software - fonden.dette program er fordelt i det håb, at det vil være nyttigt, men uden nogen garanti, selv uden underforstående garantier for merchantability eller egnethed til et bestemt formål.se den nationale samlingsregering generelle offentlige licens for flere detaljer.du skulle have modtaget en kopi af den nationale samlingsregering generelle offentlige kørekort med dette program; hvis ikke, skrive til gratis software - instituttet, inc., 51, franklin st. femte sal, boston, mor 02110-1301 usa * ///todo: omdøbe klassen til et rigtigt navn, for din stik af klasse pluginname {* -------------------------------------------- * * * * * * * -------------------------------------------- konstruktøren * /* * * initializes det stik af med lokalisering, filtre og forvaltning.* /funktion __construct() (//belastning, stik af tekst område add_action ("lokalitet, system ($, plugin_textdomain ')); //register admin styles og manuskripter add_action (' admin_print_styles, system ($, register_admin_styles')); add_action ('admin_enqueue_scripts, system ($, register_admin_scripts')); //register på styles og manuskripter add_action (' wp_enqueue_scripts, system ($, register_plugin_styles')); add_action ('wp_enqueue_scripts, system ($, register_plugin_scripts')); //register kroge, der er fyret, da det stik af er aktiveret, deaktiveres, og afmonteret, henholdsvis.register_activation_hook (__file__, system ($, "aktiver") register_deactivation_hook (__file__, system ($, deaktiver ')); register_uninstall_hook (__file__, system ($, uninstall') /* *, * definere skik funktioner for din stik af.den første parameter i * add_action /add_filter opkald er kroge, som din kode burde fyre.* * den anden parameter er funktion navn inden for denne kategori.se billetterne * senere i filen.* * yderligere oplysninger: http: //codex. wordpress. org /plugin_api&#hooks.2c_actions_and_filters * /add_action ("eller" system ($, action_method_name ')); add_filter ("eller" system ($, filter_method_name')} //ende konstruktøren /* * * fyret, da det stik af er aktiveret.* * @ param boolean $network_wide sandt, hvis wpmu superadmin anvendelser "net aktivere" aktion, falske, hvis wpmu er handicappede eller stik af aktiveres på individuel blog * /offentlige funktion aktiver ($network_wide) (//todo: definere aktivering funktionaliteten her} //ende aktiver /* * * fyret, da det stik af er deaktiveret.* * @ param boolean $network_wide sandt, hvis wpmu superadmin anvendelser "net aktivere" aktion, falske, hvis wpmu er handicappede eller stik af aktiveres på individuel blog * /offentlige funktion deaktivere ($network_wide) (//todo: definere deaktivering funktionaliteten her} //ende deaktivere /* * * fyret, da det stik af er afmonteret.* * @ param boolean $network_wide sandt, hvis wpmu superadmin anvendelser "net aktivere" aktion, falske, hvis wpmu er handicappede eller stik af aktiveres på individuel blog * /offentlige funktion uninstall ($network_wide) (//todo: definition uninstall funktionaliteten her} //ende uninstall /* * * laster stik af tekst område for oversættelse * /offentlige funktion plugin_textdomain() (//todo: i stedet for "stik af navn locale" med en unik værdi for din stik af load_plugin_textdomain ("stik af navn locale, falske, dirname (plugin_basename (__file__))./lang)} //ende plugin_textdomain /* * * registre og enqueues admin specifikke styles.* /offentlige funktion register_admin_styles() (//eller: "stik af navn til navnet på din stik af wp_enqueue_style (" stik af navn admin styles, plugins_url ("stik af navn /css /admin. css));} //ende register_admin_styles /* * * registre og enqueues admin specifikke javascript.* /offentlige funktion register_admin_scripts() (//eller: "stik af navn til navnet på din stik af wp_enqueue_script (" stik af navn admin manuskript, plugins_url ("stik af navn /er /admin. j 'er")} //ende register_admin_scripts /* * * registre og enqueues stik af særlige typer.* /offentlige funktion register_plugin_styles() (//eller: "stik af navn til navnet på din stik af wp_enqueue_style (" stik af navn, stik af stilarter, plugins_url ("stik af navn /css /display. css));} //ende register_plugin_styles /* * * registre og enqueues stik af specifikke manuskripter.* /offentlige funktion register_plugin_scripts() (//eller: "stik af navn til navnet på din stik af wp_enqueue_script (" stik af navn, stik af manuskript, plugins_url ("stik af navn /er /display. j 'er")} //ende register_plugin_scripts /* -------------------------------------------- * * kernefunktioner * --------------------------------------------- * /* * bemærk: aktioner der er punkter i forbindelse med gennemførelsen af en side eller proces * livscyklus, at wordpress brande.* * wordpress aktioner: http: //codex. wordpress. org /plugin_api&#aktioner * aktion reference: http://codex.wordpress.org/plugin_api/action_reference * * /funktion action_method_name() (//todo: at definere deres aktion metode her} //ende action_method_name /* * * note: filtre punkter af gennemførelsen, som wordpress ændrer data før at redde den, eller at sende det til browseren.* * wordpress filtre: http: //codex. wordpress. org /plugin_api&#filtre * filter reference: http://codex.wordpress.org/plugin_api/filter_reference * * /funktion filter_method_name() (//todo: at definere deres filter metode her} //ende filter_method_name} //ende klasse //todo: ajourføring af instantiation ring af din stik af, at den betegnelse, der er anført i klasse definition $plugin_name = nye pluginname();, næste, vi skal gøre hver, stik af specifikke, så vi sætter alle tilfælde, hvor det er nødvendigt med en ændring af navnet på den stik af. for eksempel:,, erstatte navnet på den stik af med post - besked, erstatte url af stik af med dig - godt valg, forsyne navn, e - mail - adresse, og alle personlige oplysningermed hvad, navn klasse, post_message, navn locale forbundne strenge, classnames og id, post budskab, vi også kan fjerne alle de javascript og stylesheet kalder  , bortset fra den, admin.css, styles.vi vil bruge denne sag senere.også sørge for at fjerne følgende filer fra boilerplate:,,, synspunkter /display. folkesundhedsprogrammet, css /stik af. css,,, er /admin. js,,, er /stik af. js,,, bør dette efterlader dig med følgende fortegnelse struktur:, bemærke, at dette er en noget om et boilerplate: hvis du skal noget, ønsker at fjerne noget af den.hvis du har noget at tilføje til det, der hjælper dig med at få det væk fra jorden - - eller er det mere fundamentale - - kan det være en mulighed for at forbedre den. men vi er ikke færdige endnu, og vi vil forøge den stik af,   filen skal se sådan her på det her punkt:, <?php /* stik af navn: tom mcfarlin stik af uri: http://tommcfarlin.com/single-post-message/beskrivelse: en enkel måde at tilføje en besked på toppen af hver af deres stillinger.version 1.0. forfatter: tom mcfarlin forfatter uri: http://tommcfarlin.com/forfatter e - mail: [email protected] kørekort: ophavsret 2013 tom mcfarlin ([email protected]). dette program er gratis software; man kan omfordele og /eller ændre det, inden for rammerne af den nationale samlingsregering i offentligheden, kørekort, 2. udgave, som blev offentliggjort af fri software - fonden.dette program er fordelt i det håb, at det vil være nyttigt, men uden nogen garanti, selv uden underforstående garantier for merchantability eller egnethed til et bestemt formål.se den nationale samlingsregering generelle offentlige licens for flere detaljer.du skulle have modtaget en kopi af den nationale samlingsregering generelle offentlige kørekort med dette program; hvis ikke, skrive til gratis software - instituttet, inc., 51, franklin st. femte sal, boston, mor 02110-1301 usa * /klasse post_message {* * * * * * * * -------------------------------------------- konstruktøren -------------------------------------------- * /* * * initializes det stik af af om fastsættelse af lokalisering, filtre og forvaltning.* /funktion __construct() (//belastning, stik af tekst område add_action ("lokalitet, system ($, plugin_textdomain ')); //register admin styles og manuskripter add_action (' admin_print_styles, system ($, register_admin_styles')} //ende konstruktøren /* * * laster stik af tekst område for oversættelse * /offentlige funktion plugin_textdomain() {load_plugin_textdomain (" post - besked, falske, dirname (plugin_basename (__file__))./lang)} //ende plugin_textdomain /* * * registre og enqueues admin specifikke styles.* /offentlige funktion register_admin_styles() {wp_enqueue_style ("post - besked admin, plugins_url (" post - meddelelse /css /admin. css));} //ende register_admin_styles} //ende klasse nye post_message();, næste, er vi nødt til at starte på vores kernevirksomhed logik. 3.gennemførelse af denne kodeks for at vise og redde oplysninger i en post - meta - boks, først skal vi identificere, præcis hvordan dette kommer til at fungere, vil vi vise en post - meta - box direkte under indhold redaktør, det vil omfatte en tekst område, der gør det muligt for brugere til at yde deres eget indhold, når de efterfølgende ajourføres det skal redde indholdet af teksten, så den første ting, vi skal gøre, er at indføre en krog og en funktion med henblik på at registrere data i post - meta - æske.i den pågældende, lad os tilføje følgende linje:,, add_action ('add_meta_boxes, system ($, add_notice_metabox "), og derefter skal vi fastlægge, add_notice_metabox, således at vi rent faktisk kan gøre meta - boks, så lad os give denne funktion:, funktion add_notice_metabox() (add_meta_box ('post_message, __ (" post - signal "," post - meddelelse), system ($, post_message_display "),'post,'normal, kraftig)} //ende add_notice_metabox, efter det, vi har brug for til at skrive en funktion, der er ansvarlig for rent faktisk at gøre efter indholdet: funktion post_message_display ($post) (wp_nonce_field (plugin_basename (__file__), post_message_nonce); //den textfield og forpremiere område echo' &det textarea id = "post - signal" navn = "post_message" indikation af en art = ".__ ("ind i din post budskab her.html accepteret. "," post - meddelelse«). "> ".esc_textarea (get_post_meta ($post - > id, post_message, sande)).< /textarea > «) //ende post_message_display, over, at bemærke, at vi har indført en pædofil område til sikkerhedsformål.bemærker også, at vi har givet denne, textarea, id, post - besked, så vi kan nemt stil den ved hjælp af css, og vi har givet det navn, post_message, der vil komme i handy, som vi redde indholdet af, textarea, til den særlige post er vi endelig meta - data. har draget fordel af, esc_textarea, funktion for at sikre, at vi er korrekt - kodning, vores data for at gøre det i textarea. på dette punkt, så lad os tilføje nogle lys ser efter, admin.css, fil at give efter budskab en lidt anderledes ser ud og føles fra indholdet:,&#post besked (bredde: 100%), bør det resultere i noget som følgende: vi naturligvis stadig ikke gjort.vi har brug for rent faktisk at redde og indhente oplysninger, når brugeren klik på "offentliggøre" eller "update" knappen.for at gøre det er vi nødt til at fælde en ringe tilbage for at redde de post - data., så den sidste ting, vi skal gøre, er at indføre en, save_notice, funktion.først skal vi registrere det i dennes med følgende kode:,, add_action ('save_post, system ($, save_notice'));,, så vil vi fastsætte følgende funktioner:, funktion save_notice ($post_id) (hvis (isset ($_post ['post_message_nonce ']) og amp; & isset ($_post ['post_type'])) (//kan ikke redde, hvis brugeren ikke har indsendt ændringer, hvis (defineret ('doing_autosave) & & doing_autosave) {tilbage;} //hvis //kontrollere, at input fra korrekt form, hvis (!wp_verify_nonce ($_post ['post_message_nonce "plugin_basename (__file__)) (tilbage;} //hvis //sikre, at brugeren har tilladelser til post, hvis (" post "= = $_post ['post_type ']) (hvis (!current_user_can ('edit_post, $post_id) {tilbage;} //, hvis} //hvis /andet //læse posten besked $post_message = isset ($_post ['post_message']).$_post ['post_message ']: "; //, hvis værdien for den efterfølgende meddelelse findes, slette det først.ønsker ikke at skrive en ekstra række i tabellen.hvis (0 = = tæller (get_post_meta ($post_id, post_message ')) (delete_post_meta ($post_id, post_message)} ////////////////ajourføring, hvis det for denne post.update_post_meta ($post_id, post_message, $post_message)} //, hvis} //ende save_notice, vi har snakket om at redde indholdet af post - meta - data i detaljer i de foregående artikler, så jeg vil ikke tærske langhalm på den her, men det er tilstrækkeligt at sige, at den funktion, er følgende:, kontrollerer, at brugeren har tilladelse til at redde denne information, sletter alle eksisterende post - meta - data, sparer de data, til de tilknyttede post - meta - data, på dette punkt, er vi klar til at afprøve stik af, således at udfylde, textarea,, medmindre oplysningerne, og når den side styrker, sørge for, at data også dukker op i den, textarea,., så vi er klar til at gå videre, for ellers, sørg for at din kode ligner kode ovenfor. 4.gøre efter varsel, så vi er klar til at gøre efter budskab i indholdet.processen for at gøre dette, vil være som følger:,, registrere en funktion med, the_content, filter, undersøge, om der findes en post - meta - data, ikke gøre det over indhold, hvis det er til stede, så lad os gøre det.lad os først registrere en funktion, the_content, filter:,, add_filter ('the_content, system ($, prepend_post_message "), efter at, lad os fælde den faktiske funktion:, funktion prepend_post_message ($indhold) (//, hvis der er en meddelelse, prepend til indhold, hvis ("!= get_post_meta (get_the_id(), post_message, sande)) ($post_message = < p - klassen = "post - signal" >. $post_message. = get_post_meta (get_the_id(), post_message, sande); $post_message. = < /p > <!- /. efter en besked... > "$indhold = $post_message.$indhold;} //, hvis afkast $indhold;} //ende prepend_post_message, meddelelse om, at den efterfølgende meddelelser indeholdt i sin egen, p, del med sin egen klasse navn, så de let kan stil, som du vil, hvis du ønsker det. på dette punkt bør vi have alt det, vi har brug for at se efter besked, så lad os teste det.skabe et post - besked, offentliggør den, så ser efter i din browser. næste, fjerne den post - indhold og derefter kontrollere, at intet findes. let nok, ikke?af 5.   gør færdigt og lokalisering, endelig er vi nødt til at sikre, at vi gør rent og ordentligt lokalisere den stik af. for det første gør, bør indeholde de sædvanlige oplysninger.det er i vid udstrækning subjektivt, men jeg har leveret et eksempel gør nedenfor, = = = = = = efter budskab bidragydere: tommcfarlin donere link: http://tommcfarlin.com/single-post-message/mærker: post kræver mindst: 3.4.1 testes op til: 3,5 stabil mærke: 1,0 kørekort: gplv2 eller senere kørekort uri: http://www.gnu.org/licenses/gpl-2.0.html let tilføje korte meddelelser og bekendtgørelser ovenfor stillinger.skærme i rss foder og på bloggen.= = = = beskrivelse efter budskab er et stik af, der giver dig mulighed for at tilføje skik meddelelser, erklæringer og meddelelser til de enkelte stillinger.det er stilet til tag læserens opmærksomhed og vil gøre i både browser * og * i rss læsere.efter en besked...* støtter anvendelsen af html rfid - brikker i budskabet er direkte tilgængelige under post indhold redaktør * fuldt ud er lokaliseret og klar til oversættelse, = = = = = wordpress anlæg ved hjælp af instrumentbrættet = 1.sejle til "tilføje nye" stik af instrumentbræt 1.vælg "post - besked. intet er fra din computer.upload 1.- stik af med wordpress stik af instrumentbræt = ved hjælp af ftp = 1.ekstrakt er post besked. intet er til din computer.upload "post - messsage er registret til deres er wp indhold /plugins er over 1.- stik af med wordpress plugins. = = = = = 1, 0 = * changelog første frigivelse, og endelig bør være let lokalisering: kun åbne, stik af. po, er sagen i den er lang, er fortegnelse i din ide, sørg for, at du ændre navnet på stik af, og forfatteren oplysninger, så åbn den i poedit registreres lokalisering filer.,, redde dit arbejde, og du er klar til at gå!,, konklusion i denne serie, vi har undersøgt, hvad der er nødvendigt for at drage fordel af wordpress boilerplates, hvordan de kan hjælpe følger vores arbejdsgang, og hjælpe os med at fokusere mere på det centrale i vores projekt i stedet for at opfinde hjulet og komme op og hen ved at gentage meget af det er allerede nødvendig. desuden er vi byggede et stik af, som kan downloades til yderligere undersøgelse., forhåbentlig i denne serie har forelagt en sag om, hvorfor du bør bruge boilerplate kode, når det er relevant, og har bidraget til at vise, hvordan de kan lindre smerten af at skrive en masse samme kode til hver af dine projekter.

WordPress Plugin Boilerplate
WordPress Plugin Boilerplate Directory Structure
Plugin Message Example
Localizing The Plugin



Previous:
Next Page: