grave i det tema, customizer: øver jeg

, at temaet customizer: øver jeg,,,,, andel,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet grave i det tema, customizer. graver sig ind i emnet customizer: componentsdigging til temaet customizer: øve ii, efter at have gennemgået tidligere stillinger i denne serie, formoder jeg, at du forstår det tema customizer komponenter, og hvordan at tilføje, fjerne, og konfigurere dem. det lader til, der er mange ting at finde ud af, og det vil være en god øvelse at gennemføre alt, hvad vi har lært. i denne post, jeg vil dække nogle af de vigtigste ting om temaet customizer gennem flere eksempler.dette bør resultere i en større forståelse af de elementer, som ikke blot ved at læse en artikel, der ikke omfatter nogen kode.,,, før vi starter, du har allerede læst den foregående del, der omfatter oplysninger om komponenter i det tema, customizer.selvfølgelig, henvise til den, hvis du glemmer noget, tema customizer bånd til tema er struktur, selvfølgelig, så er den bedste måde at integrere det til din tema er at gennemføre det, når du er ved at udvikle deres tema, men i en begrænset efter, kan vi ikke skabe et nyt emne at gøre, - vil bruge twentyeleven og vil ændre det til demonstrationsformål.,, at tilføje et nyt punkt, der åbner, functions.php, fil, skrive følgende kode indenfor det:, funktion wptuts_theme_customizer ($wp_customize) ($wp_customize - > add_section ('wptuts, system ('title = > wptuts + « //titlen i afsnit'description = > indstillinger af wptuts afsnit, //beskrivelse af afsnit)); //sidstnævnte kode stumper ud her.} add_action ('customize_register "," wptuts_theme_customizer, 11); for det første, wptuts_theme_customizer, funktion, vil føre til, customize_register, handling, som en vigtig foranstaltning, der anvendes til at registrere nye muligheder inden for temaet customizer.bemærk, at denne funktion er et parameter for $wp_customize, som tidligere nævnt, er en global variable og et eksempel på, wp_customize_manager, klasse, der forvalter alle andre komponenter i det tema, customizer. med henblik på at tilføje et nyt punkt, $wp_customize, er en metode, der hedder, add_section,.som du kan se, er "vores nyheder afsnit" har id, wptuts, er dette en vigtig ting at huske senere.,, titel og beskrivelse, attributter, oplyse, hvilke udviser, når levering af en komponent, meddelelse om, at den nye sektion vil aldrig vise i menu bar i tema vælge side, indtil det er mindst én indstilling og en kontrol.,, oprettelse af muligheder, i, wptuts_theme_customizer, funktion, vedlægges følgende kode: $wp_customize - > add_setting ('wptuts_welcome_text, system ('default = > "hej" //- alt andet misligholdelse), så, for at integrere denne fastsættelse i vores afdeling, er vi nødt til at skabe en ny kontrol, som forbinder de nye afsnit og de nye rammer: $wp_customize - > add_control (' wptuts_welcome_text, system (//wptuts_welcome_text er et id - om, at det håndtag »mærket« = > "bifalder teksten", //type = > //default "tekst", definere indholdet - at gøre.'section = > wptuts, //id i afsnit, som sætter tilhører //- alt andet default)); med id, wptuts_welcome_text, den nye kontrol med, at det har en id med de respektive afsnit., og resultaterne vil være:,, den første ting du skal bemærke, er, at vi ikke behøver at erklære id for den nye kontrol er den samme som ved fastsættelse.vi kan også gøre dette: $wp_customize - > add_control ('some_other_setting1, system (»mærket« = > "bifalder teksten",'settings = > wptuts_welcome_text,'section = > wptuts "), det virker på samme måde som første gang vi brugte det.i alt væsentligt, hvis vi ikke vedtager den værdi for de indstillinger, ejendom, så kontrollen vil bruge sit id som id for at fastlægge det kontrol. dette punkt lader os vide, at hver indstilling kan anvendes af mange forskellige kontrolforanstaltninger.det betyder også, at hver indstilling kan vises mange gange i mange sektioner (selv om det forekommer unødvendigt).for eksempel, at erstatte vores kontrol ved: $wp_customize - > add_control ('some_other_setting1, system (»mærket« = > "bifalder teksten",'settings = > wptuts_welcome_text,'section = > wptuts "); $wp_customize - > add_control (' some_other_setting2, system (»mærket« = >" bifalder teksten ",'settings = > wptuts_welcome_text,'section = > title_tagline"), at kontrollere resultaterne, vores indstilling viser både i stedet afsnit & ide, og wptuts, afsnit.,,, hver indstilling kan anvendes af mange kontroller, for det andet en standardværdi på denne opsætning er hentet fra den nuværende tema er, wptuts_welcome_text mulighed med, get_theme_mod, funktion, da dette tema mulighed eksisterer ikke, misligholdelse, ejendom bliverder anvendes.så vi har en tekstboks med værdien af "goddag".for at kontrollere, om det fungerer med temaet customizer eller ikke, kan vi prøve at produktionen værdien af dette miljø, et eller andet sted i vores model. lad os åbne, header.php, dokumentation og prepend følgende kode til ende, og at redde:, <?php echo get_theme_mod ('wptuts_welcome_text)?>, gå tilbage til emnet customizer side, opdatere og forsøge at ændre nogle andre værdien af vores indstillinger, "hej, tak fordi du læste!"for eksempel, og se dem.resultaterne viser samme ret i forvisningen ramme, så sejt!for det tredje,, vi ikke tildeler nogen værdier for den type, der så standardværdien for, theme_mod ville blive anvendt, og det forklarer, hvorfor vi bruger, get_theme_mod, funktion at få værdien af dette miljø.du kunne ændre denne værdi, valg, og brug, get_option, for at få den værdi i stedet for, get_theme_mod,.prøv at tilføje følgende stumper, til udgangen af den ovenfor wptuts_theme_customizer, funktion: $wp_customize - > add_setting ('wptuts_welcome_again, system ('default = > "goddag igen,'type = >" mulighed "); $wp_customize - > add_control (" some_other_setting3, system (»mærket« = > "velkommen tekst igen,'settings = > wptuts_welcome_again,'section = > wptuts"), og produktionen af værdien af, wptuts_welcome_again, lige efter, get_theme_mod (' wptuts_welcome_text) i overskriften. folkesundhedsprogrammet,., <?php echo get_theme_mod ('wptuts_welcome_text). ""og echo get_option ('wptuts_welcome_again)?> se resultatet:,, godt, lad os prøve et andet eksempel ved at tilføje et mere om: $wp_customize - > add_setting ('wptuts_footer, system ('default = > 0,) $wp_customize - > add_control (' wptuts_footer, system (»mærket« = > "skjule fod afsnit,'type = > afkrydsningsfelt,'section = > wptuts"), har vi lige tilføje en ny mulighed, der udviser en, afkrydsningsfelt, som giver os mulighed for at vælge ikke at skjule fod afdeling.næste, åbne, footer.php, fil, finder følgende kode:, < div id = "site generator" >, og i stedet:, < div id = "site generator" <?php echo (get_theme_mod ('wptuts_footer'). "stil ='display: ingen; ":" "?> > ovennævnte kode vil undersøge, om, get_theme_mod ('wptuts_footer), returnerer falske (eller værdien 0), så viser, stil ='display: ingen « attributværdi par, der dækker div element, der indeholder det, hvis ikke, produktion, ingenting.endelig har vi en simpel afkrydsningsfelt mulighed, forsøge at klik, fod afsnit indhold vil skjule det.,, hvad sker der, hvis id - at vi har til hensigt at anvende eksisterede?- at udnytte de eksisterende muligheder vil blot uden at tilføje en ny mulighed, indrejse.i det næste afsnit vil vi vise en simpel demo med, ved hjælp af eksisterende mulighed, indstillinger - > diskussion i administrationen har en mulighed, hvis titel er instrumentbrættet, default avataren.jeg vil bringe denne mulighed til temaet customizer side.This option has the id ,avatar_default,, so:, \t$wp_customize->add_setting( 'avatar_default', array( \t\t'default' => get_option( 'avatar_default' ), \t\t'type' => 'option', \t) ); \t$wp_customize->add_control( 'avatar_default', array( \t\t'label' => 'Avatar Default', \t\t'section' => 'wptuts', \t\t'type' => 'radio', \t\t'choices' => array( \t\t\t'mystery' => 'Mystery Man', \t\t\t'blank' => 'Blank', \t\t\t'gravatar_default' => 'Gravatar Logo', \t\t\t'identicon' => 'Identicon (Generated)', \t\t\t'wavatar' => 'Wavatar (Generated)', \t\t\t'monsterid' => 'MonsterID (Generated)', \t\t\t'retro' => 'Retro (Generated)', \t\t), \t) );,The above control defines the setting's content type as ,radio,, and ,radio, must have a liste over beslutninger.jeg passerede værdier og afsnit hvert valg om, valg, attribut, hvor nøglen er værdien af forkøbsretten (vil blive anvendt som værdi attribut i html tag), og værdien af de vigtigste er den titel, som udviser efter radio knap. resultatet:,, forsøge at ændre værdien:,,, eller du også ændre, type i, at styringen, udvælge,.og vi vil have:,, lad os prøve en anden form for kontrol, dropdown sider, dig selv.vil du se en udvælgelse, der indeholder alle sider og værdien af indstillinger vil blive id af udvalgte side, når du henter det.,, sikkert og skabe et nyt element, at tilføje et nyt element, hvis id er en kopi af et eksisterende kan forårsage alvorlige fejl, og kan endog indvirke på andre komponenter 'aktiviteter og data, så. for at skabe noget nyt, at kontrollere, om ikke en komponent med samme id findes. //- afdeling, hvis (!in_array ('section_id_to_check, array_keys ($wp_customize - > sections())) ($wp_customize - > add_section (' section_id_to_check, system (//)} //kontrollere, om hvis (!in_array ('setting_id_to_check, array_keys ($wp_customize - > settings())) ($wp_customize - > add_setting (' setting_id_to_check, system (//)) //- kontrol, hvis (!in_array ('control_id_to_check, array_keys ($wp_customize - > controls())) ($wp_customize - > add_control (' control_id_to_check, system (//)}, $wp_customize - > sections(), metode vil vende tilbage til et system med id - objekt par alle sektioner i tema customizer.ved de, array_keys, funktion, jeg får et nyt system indeholder alle papirer i det gamle system, næste, tjek om legitimation af den del vi formoder, at tilføje, er, i det nye system eller ej, beslutte at tilføje nye komponenter eller gør ingenting.,, at skabe en gruppe af indstillinger, som med indstillinger api, når du skabe mulighed, vil det blive skrevet ind i, valg, database, som en indgang.hvis vi har 10 om muligheder, så ville vi have 10 indrejse rækker i den mulighed, tabel, det virker så ødselt.skal vi ikke lægge alle vores om muligheder i kun en enkelt indgang.det gør den database, ordentlige og let at styre.Below is an example:, \t$wp_customize->add_setting( 'wptuts[number]', array( \t\t'default' => 1, \t\t'type' => 'option', \t) ); \t$wp_customize->add_control( 'wptuts[number]', array( \t\t'label' => 'WPTuts+ number', \t\t'section' => 'wptuts', \t) ); \t$wp_customize->add_setting( 'wptuts[email]', array( \t\t'default' => '[email protected]', \t\t'type' => 'option', \t) ); \t$wp_customize->add_control( 'wptuts[email]', array( \t\t'label' => 'WPTuts+ email', \t\t'section' => 'wptuts', \t) ); \t$wp_customize->add_setting( 'wptuts[ads]', array( \t\t'default' => 0, \t\t'type' => 'option', \t) ); \t$wp_customize->add_control( 'wptuts[ads]', array( \t\t'label' => 'Display advertise banners', \t\t'type' => afkrydsningsfelt,'section = > wptuts "), som du kan se, har vi nu en, wptuts mulighed gruppe med vores andre om muligheder.for at få værdien af en bestemt indstilling, kan vi gøre det sådan her: $wptuts = get_option ('wptuts); //array $antal = $wptuts ['number'] $e - mail = $wptuts ['email '] $tts = $wptuts ['ads'], så brug dem variabler, hvor du vil.det synes enkelt, jeg anbefaler, at gøre det på denne måde, konkludere, at vi har dækket en del, men det er ikke nok.i næste del, vil vi se på flere andre vigtige faktorer som f.eks. sanitization, transport, attributter og udvidet komponenter, igen, jeg ser frem til at høre fra dig, eventuelle bemærkninger vil blive værdsat.,

digging-into-theme-customizer-part-3-practicing-1
digging-into-theme-customizer-part-3-practicing-2
digging-into-theme-customizer-part-3-practicing-3
digging-into-theme-customizer-part-3-practicing-4
digging-into-theme-customizer-part-3-practicing-5
digging-into-theme-customizer-part-3-practicing-10
digging-into-theme-customizer-part-3-practicing-6
digging-into-theme-customizer-part-3-practicing-7
digging-into-theme-customizer-part-3-practicing-8
digging-into-theme-customizer-part-3-practicing-9



Previous:
Next Page: