genanvendelige skik meta - kasser, del 2: avancerede områder

, genanvendelige skik meta - kasser, del 2: avancerede områder,,,,, andel,,,,,,,, 9,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i del 1 i vores skik meta - box skabelon tutor - serien, vi er, hvordan man opretter en skik meta - boks, som løkker, gennem en bred vifte af områder og output, hver med den nødvendige html for forskellige typer form områder.nu er vi klar til at begynde at tilføje nogle avancerede produkter til system og skifte.,,,, - gruppe, radio knapper er næsten aldrig anvendes alene, som de er vant til at tvinge en bruger til at udvælge en af mindst to muligheder, ikke som en tænd /sluk - knap en afkrydsningsfelt.The first thing we’ll need to do is add a radio item to our ,$custom_meta_fields, array., array ( \t'label' => 'Radio Group', \t'desc'\t=> 'A description for the field.', \t'id'\t=> $prefix.'radio', \t'type'\t=> 'radio', \t'options' => array ( \t\t'one' => array ( \t\t\t'label' => 'Option One', \t\t\t'value'\t=> 'one' \t\t), \t\t'two' => array ( \t\t\t'label' => 'Option Two', \t\t\t'value'\t=> 'two' \t\t), \t\t'three' => array ( \t\t\t'label' => 'Option Three', \t\t\t'value'\t=> 'three' \t\t) \t) ),Be sure to add this among the other array items in the original ,$custom_meta_fields, array we started in Part 1.,This array is almost identical to our select box item. det er vores vigtigste etiket, en beskrivelse og en unik id. den type er defineret og derefter en vifte af muligheder er tilføjet.det er vigtigt, at den mulighed, de vigtigste, er den samme som den mulighed, værdi, fordi vi vil kontrollere vores reddede system for reddede værdi senere. //- sag "radio": de ($område ['options'] som $mulighed) (echo '< input type = "radio" navn = ". $område ['id"]. "" id = ". $mulighed (»value"]. "" værdi = ". $mulighed (»value"]. "" $meta - = = $mulighed (»value']? «kontrolleret = "kontrol": "," /> < etiket til = ". $mulighed (»value"]. "" >. $mulighed (»mærket«). < /etiketten > < br /> «.} bryde; denne kode tilføjes efter den sidste "pause" i vores meta - box skift.,, loop gennem hver valgmulighed i området er indlejrede "muligheder" system, anvende en itråd betinget for at bestemme, om de reddede værdi svarer til værdien af den nuværende åbne og produktion "kontrol" attribut, hvis det er det sandt, at benytte muligheden værdi som entydigt identifikationsnummer for mærkningen, tilføje en pause i slutningen, så den næste mulighed for en ny linje, ender det med en beskrivelse af område.intet behov for en foregående "< br />", eftersom vi har en tilbage fra skruet gennem de muligheder, afkrydsningsfelt gruppe, har vi dækket er i stand til at anvende en afkrydsningsfelt som en tænd /sluk - knap, og hvordan de skal være i stand til at vælge en løsning af mange, men det, vi ønsker at være i stand til at redde mere end én værdi for samme område?That’s where a checkbox group comes in handy., array ( \t'label'\t=> 'Checkbox Group', \t'desc'\t=> 'A description for the field.', \t'id'\t=> $prefix.'checkbox_group', \t'type'\t=> 'checkbox_group', \t'options' => array ( \t\t'one' => array ( \t\t\t'label' => 'Option One', \t\t\t'value'\t=> 'one' \t\t), \t\t'two' => array ( \t\t\t'label' => 'Option Two', \t\t\t'value'\t=> 'two' \t\t), \t\t'three' => array ( \t\t\t'label' => 'Option Three', \t\t\t'value'\t=> 'three' \t\t) \t) ),Again, we’re adding this to our ,$custom_meta_fields, array and the set up is nearly identical to similar fields with a unique id, and the type defined., //checkbox_group case 'checkbox_group': \tforeach ($field['options'] as $option) { \t\techo 's < input type = "afkrydsningsfelt" værdi = ". $mulighed (»value"]. "" navn = ". $område ['id"]. [...] "id =". $mulighed (»value "]." "$meta - & &.; in_array ($mulighed [»value" $meta)? «checked="checked"' : '',' /> \t\t\t\t<label for="'.$option['value'].'">'.$option['label'].'</label><br />'; \t} \techo '<span class="description">'.$field['desc'].'</span>'; break;,The biggest difference here is that we’re saving this data as an array., ,Loop through each option defined in the array,Store the data in an array by adding square brackets to the end of the name: [],In our inline conditional for outputting the “checked” attribute, check for the value to be inside an array by using “in_array()”,Just like before, add the value for each input, close the loop, and output the description, ,Taxonomy Select,Being able to have custom taxonomies for various uses is great, but sometimes you want for at begrænse den bruger, kun være i stand til at udvælge én periode pr. post.en enkel løsning er at fjerne den manglende udvælgelse rubrik wordpress bidrager til at skrive efter side, og tilføje, at det som en særlig rubrik deres vane meta - æske., system (»mærket« = > "kategori"'id = > "kategori"'type = > tax_select ') i dette eksempel, jeg vil bare bruge den indbyggede taksonomi, "kategori".føj det til dine $custom_meta_fields, vifte.sørg for »id« er identisk med navnet taksonomi. //tax_select sag tax_select: echo '< udvælge navn = ". $område ['id"]. "" id = ". $område ['id"]. "" > < alternativ værdi = "> angiv en < /mulighed >'; //udvælge en $hensyn = get_terms ($område ['id", "få = alle '); $udvalgte = wp_get_object_terms ($post - > id $område ['id']); for hvert ($vilkår som $sigt) (hvis (!tom ($udvalgte) & &!strcmp ($term - > kugle, $udvalgt [0] - > kugle) echo '< alternativ værdi = ". $term - > kugle." "udvalgt =" udvalgt ">. $term - > navn. <. /mulighed >'; andet echo '< alternativ værdi =". $term - > kugle. "" >. $term - > navn. < /mulighed > "} $taksonomi = get_taxonomy ($område ['id'); echo '< /udvælge > < br /> < over klasse =" beskrivelse "> < en href =". get_bloginfo ('home). /wp admin. /edit-tags.php?taksonomi = ". $område ['id"]. "" > styre ". $taksonomi - > etiket. < /a > < /span >" pause, er der lidt flere oplysninger, vi har brug for på dette område at arbejde fuldstændig end for de andre områder, som vi allerede har oprettet, åbne udvælge kasse og tilføje en blank værdi som "vælger", få alle betingelserne i de taksonomi, får de vilkår, der er blevet sparet for den nuværende taksonomi, begynde at manipulere med hvert semester., holder det enkelt og let at læse, bruger vi et fuldstørrelse betinget af en outputting en mulighed, der er udvalgt, om det matcher de reddede sigt og en regelmæssig mulighed for resten. som du lukker sløjfen og vælg rubrik, vi ønsker at få en smule af oplysninger om taksonomi og opbevarer det i en variabel, anvendelse. delægen område som en nem måde at forbinde brugeren af det område, hvor de kan forvalte taksonomi vilkår.brug etiketten fra de oplysninger, vi har indsamlet $taksonomi, således at flertalsformen er korrekt (der er ikke sådan noget som categorys).,, fjerne misligholdelse taksonomi kasse, da vi ønsker at tilsidesætte den manglende kasse med vores skik vælg rubrik og ikke har nogen konflikter i den afgift eller redde de data, der er nødvendige at fjerne taksonomi er edit fra skærmen., funktion remove_taxonomy_boxes() {remove_meta_box ('categorydiv "," post "," side ")} add_action ('admin_menu", "remove_taxonomy_boxes), kunne du få lyst til her og bruge $custom_meta_fields, system igen til loop gennem hver" tax_select "område og tilføje det til det fjerne funktion, men det er nok meget enklere at nævne dem individuelt.du skal vide, id, hvis div til taksonomi kasse, for at fjerne det ordentligt.læs mere om, remove_meta_box(), i wordpress codex, redde henseende et sidste skridt på dette område er at sikre, at de taksonomi spares som sådan i stedet for en sædvane område.for at gøre det, vi vil gå tilbage og ændre den, save_custom_meta(), funktion, vi har skabt i del 1 i denne serie. først springe det over på området loop.finder denne linje:, for hvert ($custom_meta_fields som $område) (og efter, at tilføje dette: hvis ($område ['type "= =" tax_select) fortsætter, og efter hver sløjfe, tilføje dette: //redde taxonomies $efter = get_post ($post_id); $kategori = $_post ['category '] wp_set_object_terms ($post_id $kategori, "kategori"); dette blot griber værdien af vores klasse vælge område, så er det da taksonomi hensyn til stillingen.,, post udvælge en usandsynlig, men nyttigt område er at inddrage en anden post med en post ved at redde id i en speciel område.det er meget høj, og jeg har fundet det hensigtsmæssigt for ting, som forbinder en sliske, post - til at gå til en anden post eller side på webstedet ved udvælgelsen af det fra en dropdown menu.du kan bruge id til søgning efter senere i en anden funktion, for at få de oplysninger, du har brug for fra denne post, system (»mærket« = > "post - liste,'desc = > en beskrivelse af området."'id = > $præfiks'post_id ".,'type = > post_list,'post_type = > system ('post,'page ')), har vi alle vores sædvanlige her, men så afslutter vi har tilføjet et ekstra variabel de sparer, som efter type, du vil være på den liste.du kan omfatte, stillinger, sider, og enhver anden skik efter type i dette system. //post_list sag post_list: $poster = get_posts (array ('post_type = > $område ['post_type "'posts_per_page = > - 1); echo '< udvælge navn =". $område ['id "]." "id =". $område ['id "]." "> < alternativ værdi =" > angiv en < /mulighed >'; //vælge en for hvert ($poster som $punkt på dagsordenen) (echo '< alternativ værdi = ". $post - > id." "$meta - = = $post - > id?selected="selected"' : '','>'.$item->post_type.': '.$item->post_title.'</option>'; \t\t} //end foreach \techo '</select><br /><span class="description">'.$field['desc'].'</span>'; break;,There are a lot of options you can add to filter this query, but we’re using a basic grab of all posts of the set post types., ,Query all posts,Open the select field and add a blank value,Loop through each post and set the ID as the value of the option, and the title labeled with the post type as the displayed text to select from,Close the loop and the select field and add the description, ,Conclusion,If you’ve been following along with both parts of this series so far, your final box should look like the one picog her:,, vi er virkelig udfylde vores genanvendelige skabelon for at skabe gentages skik meta - box områder med yderligere af denne avancerede og måske endda utraditionelle områder.vi pakker den serie i den næste stilling med et par endnu sværere, men nyttige områder som en datepicker og image uploaderen.,

Custom Meta Box



Previous:
Next Page: