, idet det filter, kroge til din wordpress tema ramme,,,,, 42,,,,,,,,, 11,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie, "hvordan tema rammer faktisk arbejde. at tilføje funktioner til din wordpress tema frameworkcreating barn temaer for din wordpress tema ramme, så langt du har tilføjet aktion kroge til temaet rammer, og de har skrevet nogle funktioner, der er aktiveret via de kroge.det næste skridt er at tilføje nogle filtre, som giver dig endnu mere fleksibilitet, et hurtigt overblik over foranstaltninger og filter kroge, før vi fortsætter, er det værd at give et hurtigt overblik over forskellen mellem handling og filter kroge:,, aktioner der er udløst på specifikke punkter i din kode.aktionen klo sig ikke indeholder en kode, der er udført, men giver et sted - koden, hvor du kan få ting til at ske via funktioner, som de aktiveres via kroge, filtre, gøre det muligt at ændre kode, som allerede er skrevet ind i dit område.i stedet for at være tom, et filter klo er viklet rundt om et eksisterende kodeks, som du kan ændre eller annullere ved hjælp af en funktion, som de tillægger den krog. for flere detaljer, se denne guide til handling og filter kroge.,, hvordan at oprette og anvende et filter, klo, <?folkesundhedsprogrammet aspektet apply_filters ('my_filter "," kode filtreres går her).>,, du så adgang, som filter klo med, add_filter(), fungere som følger:,, <?php funktion my_function() (//kode for funktion her} add_filter ('my_filter "," my_function)?>,, hvad du kommer til at fungere, kan erstatte de filterable kode i den ramme, så det er der, du får dine ændringer eller tilsidesætter.,, hvad du har brug for, til at følge denne forelæsning, du får brug for:,, en udvikling, installation af wordpress, en kode redaktør, hvis du arbejder med den kode, der er anvendt i min ramme, koden fra den foregående tutor.,, at filtrere kroge i denne lektion, jeg vil tilføje tre filter kroge til ramme:, i hovedet, vil jeg hermed stedet titel og beskrivelse i et filter, i meter, vil jeg tilføje en filter til colophon funktion, som vi tilføjede i sidste lektion, betyder det, at i fremtiden, både af disse kan ændres eller i tilfælde af et barn tema eller stik af.kan du føje mange flere filtre til temaet ramme: hvor som helst i tilføjer kode eller avance, som du måske ønsker at ændre på et senere tidspunkt, man kan bruge et filter for at sikre, at denne ændring foretages, uden at skabe en ny model fil i et barn tema., tilføjelse af et filter klo på stedet titel og beskrivelse, start med det sted, navn og beskrivelse.åbn din tema er, header.php, fil og finde følgende kode:,, < div klasse = "lokalitetens betegnelse halvdelen tilbage" > <!- stedet, navn og beskrivelse - site navn er inde i en div element på alle sider, bortset fra forsiden og /eller vigtigste blog side, hvor det er i et h1 element - > < h1 id = "område" > < en href = "<?php echo home_url();?> "afsnit =" <?php echo esc_attr (get_bloginfo ("navn", "display").> "rel =" hjem "> <?folkesundhedsprogrammet aspektet bloginfo (navn).> < /a > < /h1 > < h2 id = "beskrivelse af lokaliteten" > <?folkesundhedsprogrammet aspektet bloginfo ("beskrivelse").> < /h2 > < /div >,, i stedet for at skrive et filter for alt dette, er det bedre at tilføje et filter for hver af lokaliteten, titel og beskrivelse af lokaliteten, så du kan ændre eller ændre det produktion til det ene eller begge. i hvert enkelt tilfælde, erstatter du den, bloginfo(), fungere med, get_bloginfo(), funktion, og så tilføje, echo, før, apply_filters(), funktion.lad os starte med sted titel.edit koden ind, h1, element, så det lyder:,, < h1 id = "område" > < en href = "<?php echo home_url();?> "afsnit =" <?php echo esc_attr (apply_filters ('wptutsplus_sitetitle, get_bloginfo ("navn", "display")).> "rel =" hjem "> <?php echo apply_filters ('wptutsplus_sitetitle, get_bloginfo (navn)).> < /a > < /h1 >,, som du kan se, jeg har tilføjet, apply_filters(), funktion, to gange her - en gang for attributten title i den forbindelse, og så igen til teksten afbildet.den nye kodeks er følgende:,, <?php echo apply_filters ('wptutsplus_sitetitle, get_bloginfo (navn)).>, skaber det et filter, wptutsplus_sitetitle, og så gælder det, at de, get_bloginfo (navn), fungerer.det er så igen.,, så lad os gøre det samme med beskrivelse af lokaliteten.det er lidt nemmere, så der er ingen forbindelse.redigere, h2, element, så det lyder:,, < h2 id = "beskrivelse af lokaliteten" > <?php echo apply_filters ('wptutsplus_sitedescription, get_bloginfo ("beskrivelse").> < /h2 >,,, at dette ikke påvirker produktionen indhold af dette element, men det giver dig et filter, du kan bruge til at ændre den på et senere tidspunkt, om tilføjelse af et filter hook på colophon, næste, bliver jeg nødt til at tilføje et filter til the colophon, som er indeholdt i en funktion i min, functions.php, fil.dette vil give brugerne af min ramme, ændre eller annullere indholdet af colophon.,, første åbne din, functions.php, fil og finde denne blok af kode:,, funktion wptp_colophon() {?> < afsnit klasse = "colophon" rolle = "contentinfo" > < små klasse = "copyright halvdelen tilbage" > & kopi; < en href = "<?php echo home_url (» /«)?> "> <?folkesundhedsprogrammet aspektet bloginfo (navn).> < /a > 2014 < /små > <!-copyright - > < små klasse = "kreditter, halvt ret" > <?folkesundhedsprogrammet aspektet _e ("stolt drives af", "tutsplus)?> < en href = "http: //wordpress. org /" > wordpress < /a >.< /små > <!-kreditter - > < /afsnit > <!-kolofon. > <?php}, nu indtage den holdning, at output, navnet på den blog i en sammenhæng og pakker hver af de to funktioner i en, apply_filters(), funktion, så det lyder:,, funktion wptp_colophon() {?> < afsnit klasse = "colophon" rolle = "contentinfo" > < små klasse = "copyright halvdelen tilbage" > & kopi < en href = "<?php echo apply_filters ('wptp_colophon_link, home_url (» /«)?> ">)?> "> <?php echo apply_filters ('wptp_colophon_name, get_bloginfo (navn)).> < /a > 2014 < /små > <!-copyright - > < små klasse = "kreditter, halvt ret" > <?folkesundhedsprogrammet aspektet _e ("stolt drives af", "tutsplus)?> < en href = "http: //wordpress. org /" > wordpress < /a >.< /små > <!-kreditter - > < /afsnit > <!-kolofon. > <?php},,, jeg har skabt to filtre:,,, echo apply_filters ('wptp_colophon_link, home_url (/), gælder for den forbindelse, som navnet viser, at echo., apply_filters ('wptp_colophon_name, get_bloginfo (navn)), gælder for selve navnet.,, hvis jeg ville ændre hver af disse på et senere tidspunkt, jeg kunne gøre det med et par enkle funktioner som følger:,, funktion wptp_amend_colophon_name() {$navn = "rachel mccollin; tilbage $navn} add_filter (' wptp_colophon_name", "wptp_amend_colophon_name); funktion wptp_amend_colophon_link() {$forbindelse = http: ////////rachelmccollin. på" tilbagevenden $link;} add_filter ('wptp_colophon_link "," wptp_amend_colophon_link), og hver af disse funktioner tilbage en statisk indholdi stedet for folkesundhedsprogrammet funktion i den originale filter, der erstatter de hjem url og blog navn med mit navn og min blog er url: http: //,,,,, resumé,,, jeg har tilføjet et par simple filtre, som vil lade dig eller din ramme brugere, ændre, hvad der er produktionen uden at skabe nye model filer.som vi har set, et filter er forskellig fra en aktion i, at det lader dig ændre hvad der allerede er produktionen af krogen, snarere end at tilføje noget nyt for en tom krog., i nogle tilfælde kan du måske finde et filter er for kompliceret, og man ville være nødt til at skrive en ny funktion eller undertiden skaber en ny model fil.for eksempel, hvis jeg ville gøre mere betydelige ændringer af colophon, jeg vil tilføje en ny funktion, wptp_colophon(), at mit barn tema - som den, wptp_colophon(), funktion inden for rammerne er pluggable, min nye funktion vil tilsidesætte det.men hvis jeg ønskede at erstatte hele fod, ville jeg være nødt til at skabe en ny, footer.php, fil.,, filtre kan være nyttige, men for at undgå at gøre sådanne drastiske arbejde, når du skriver dit ramme model filer, og overveje, hvad der er under produktion, at deres brugere vil måske ændre, og pakker det i en apply_filters(), funktion.