, hvordan man bruger skik sidebars om stillinger og sider,,,,, 1,,,,,,,,, 17,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i dag vil jeg gerne vise dig, hvor let at tilføje skik sidebars til anvendelse inden for deres stillinger og sider.det kan være nyttigt at udstille forskellige widgets i henhold til din side eller efter emne. vi får se, hvor anvendelse af wordpress meta - kasser til at lagre og genfinde en valgt gruppemøde for en specifik post.skik sidebars vil blive tilføjet i temaet muligheder afsnit.,,, indledning, jeg plejede at behandle de store widget logik, stik af udviser forskellige widgets på forskellige sider, men widgets side blev meget uklare og vanskeligt at bevare.så hvorfor ikke bruge flere sidebars og vælge, hvilket viser på en specifik post?det er, hvad jeg vil dække i denne forelæsning.,, trin 1, at sidebars i temaet muligheder side (20 11) i denne forelæsning, bruger jeg den store wordpress misligholdelse tema 20 11 for at vise, hvordan man bruger skik sidebars i dit tema. vi er nødt til at tilføje en ny indstilling. udseende - > tema valgmuligheder.du kan henvise til denne store lektion i at se, hvordan at tilføje miljøer, åbne, theme-options.php, fil, befinder sig i, twentyeleven /inc, og tilføje denne kodeks ved slutningen af det, twentyeleven_theme_options_init(), funktion:, add_settings_field ('custom_sidebar, __ ("skik sidebars", "twentyeleven"), twentyeleven_settings_field_custom_sidebar "," theme_options "," generelle ") og tilføje en standardværdi (en tom system) for det generelle tema muligheder værdier, ved udgangen af det, twentyeleven_get_default_theme_options(), funktion: $default_theme_options = system ('color_scheme = >" light ",'link_color = > twentyeleven_get_default_link_color (" light "),'theme_layout = > indhold nærmere,'custom_sidebar = > array()), nu er vi goi.ng at skabe callback funktion, der håndterer fastsættelse er opvisning. lad os tilføje nogle jquery klare interaktioner, som f.eks. at tilføje og fjerne sidebars, som dybest set er en liste over elementer, der indeholder en skjult input.We'll also generate those list elements from already saved sidebars., function twentyeleven_settings_field_custom_sidebar() { \t//Retrieve theme options \t$opts = twentyeleven_get_theme_options(); \t//A bit of jQuery to handle interactions (add /remove sidebars) \t$output = "<script type='text/javascript'>"; \t$output .= ' \t\t\t\tvar $ = jQuery; \t\t\t\t$(document).ready(function(){ \t\t\t\t\t$(".sidebar_management").on("click", ".delete", function(){ \t\t\t\t\t\t$(this).parent().remove(); \t\t\t\t\t}); \t\t\t\t\t \t\t\t\t\t$("#add_sidebar").click(function(){ \t\t\t\t\t\t$(".sidebar_management ul").append("<li>"+$("#new_sidebar_name").val()+" <a href=\\'#\\' class=\\'delete\\'>'.__("delete", $themename).'</a> <input type=\\'hidden\\' name=\\'twentyeleven_theme_options[custom_sidebar][]\\' value=\\'"+$("#new_sidebar_name").val()+"\\' /></li>"); \t\t\t\t\t\t$("#new_sidebar_name").val(""); \t\t\t\t\t}) \t\t\t\t\t \t\t\t\t}) \t'; \t \t$output .= "</script>"; \t$output .= "<div class='sidebar_management'>"; \t \t$output .= "<p><input type='text' id='new_sidebar_name' /> <input class='button-primary' type='button' id='add_sidebar' value='".__("add", $themename)."' /></p>"; \t \t$output .= "<ul>"; \t//Display every custom sidebar \tif(isset($opts['custom_sidebar'])) \t{ \t\t$i = 0; \t\tforeach($opts['custom_sidebar'] as $sidebar) \t\t{ \t\t\t$output .= "<li>".$sidebar." <a href='#' class='delete'>".__("delete", $themename)."</a> <inlæg type ='hidden navn ='twentyeleven_theme_options [custom_sidebar] [...] « værdi = ". $gruppemøde." "/> < /li >" $i + +) $produktion. = "< /ul >" $produktion. = "< /div >" echo $udgangseffekt}, til sidst tilføje denne kode i den, twentyeleven_theme_options_validate(), funktion for at sterilisere og validere form input: hvis (isset ($bidrag ['custom_sidebar '])) ($produktion ['custom_sidebar'] = $bidrag ['custom_sidebar ']} på dette punkt, bør de være i stand til at forvalte og redde skik sidebars inden for temaet.for eksempel, lad os skabe en ny skik sidebar kaldet "min skik aftale".temaet muligheder side skal se sådan ud:,, trin 2, registrere skik sidebars, nu er vi i stand til at tilføje skik sidebars, vi er nødt til at registrere dem, så de kan opføres i widgets admin side. i 20 11 tema, det er under, twentyeleven_widgets_init(), funktion.So at the end of this function add this:, $options = twentyeleven_get_theme_options(); if(isset($options['custom_sidebar']) && sizeof($options['custom_sidebar']) > 0) { \tforeach($options['custom_sidebar'] as $sidebar) \t{ \t\tregister_sidebar( array( \t\t\t'name' => __( $sidebar, 'twentyeleven' ), \t\t\t'id' => generateSlug($sidebar, 45), \t\t\t'before_widget' => '<aside id="%1$s" class="widget %2$s">', \t\t\t'after_widget' => "</aside>", \t\t\t'before_title' => '<h3 class="widget-title">', \t\t\t'after_title' => '</h3>', \t\t) ); \t} },We retrieve theme options, check that there is at least one custom sidebar and register it. We use a quick function to ,generate a slug, out of the sidebar name to be used as the sidebar ID., function generateSlug($phrase, $maxLength) { \t$result = strtolower($phrase); \t$result = preg_replace("/[^a-z0-9\\s-]/", "", $result); \t$result = trim(preg_replace("/[\\s-]+/", " ", $result)); \t$result = trim(substr($result, 0, $maxLength)); \t$result = preg_replace("/\\s/", "-", $result); \treturn $result; },Now, go to ,Appearance -> Widgets, and you should see our new custom sidebar., , Step 3 Adding A Meta Box,Now our custom sidebars are available, we'll add a meta box to display a list of all sidebars available inside the post editing form.,If you're not familiar with meta boxes, you can refer to these links:, ,,add_meta_box, on wordpress codex, hvordan der kan skabes tradition wordpress skrive /meta - kasser, genanvendelige skik meta - æske. serie, lad os grave i kodeksen, tilføje meta - kasser, vi vil blot tilføje vores meta - kasser.vi er nødt til at erklære to meta - kasser, til stillinger og et til side.vi er også nødt til at registrere to kroge, at tilføje meta - kasser, og den anden for at redde dem, så åben din, functions.php, fil at tilføje dette: /* definere skik rubrik * /add_action ('add_meta_boxes "," add_sidebar_metabox'); add_action ('save_post "," save_sidebar_postdata'); /* tilføjer en rubrik til side kolonne på post - og side edit skærme * /funktion add_sidebar_metabox() {add_meta_box ('custom_sidebar, __ ("skik sidebar, twentyeleven"),'custom_sidebar_callback,'post,'side '); add_meta_box ('custom_sidebar, __ ("skik sidebar, twentyeleven'),'custom_sidebar_callback,'page,'side)}, skabe en callback - funktion, lad os skabe, custom_sidebar_callback, funktion, der vil udskrive meta - kasser "oveni., der er flere vigtige skridt i denne funktion:,, hente alle registrerede sidebars (tema misligholdelse sidebars omfattede) med den globale, $wp_registered_sidebars, variable. få post metas, skabe pædofil sikkerhed, tilføje en udvalgt element med alle sidebars plus en misligholdelse, der er defineret direkte i skabelonen fil.,, /* fingeraftryk kassen indhold * /funktion custom_sidebar_callback ($post) (samlet $wp_registered_sidebars. $skik = get_post_custom ($post - > id); hvis (isset ($skik ['custom_sidebar ']) $val = $skik ['custom_sidebar'] [0]; andre $val =" standard ": //brug pædofil for verifikation wp_nonce_field (plugin_basename (__file__), custom_sidebar_nonce); //det faktiske fields for data entry \t$output = '<p><label for="myplugin_new_field">'.__("Choose a sidebar to display", 'twentyeleven' ).'</label></p>'; \t$output .= "<select name='custom_sidebar'>"; \t//Add a default option \t$output .= "<option"; \tif($val == "default") \t\t$output .= " selected='selected'"; \t$output .= " value='default'>".__('default', $themename)."</option>"; \t \t//Fill the select element with all registered sidebars \tforeach($wp_registered_sidebars as $sidebar_id => $sidebar) \t{ \t\t$output .= "<option"; \t\tif($sidebar_id == $val) \t\t\t$output .= " selected='selected'"; \t\t$output .= " value='".$sidebar_id."'>".$sidebar['name']."</option>"; \t} \t$output .= "</select > "echo $udgangseffekt}, redde meta - boks, lad os redde vores post meta.flere skridt:,, tjek wordpress er ikke autosaving, tjek lige nu og tilladelser, medmindre post_meta, /*, da stillingen er reddet, redder vores skik data * /funktion save_sidebar_postdata ($post_id) (//kontrollere, om dette er en automatisk redde rutine.////////, hvis det er vores form ikke er blevet forelagt, så vi vil ikke gøre noget, hvis (defineret ('doing_autosave) & & doing_autosave) afkast; //kontrollere dette kom fra skærmen og med behørig tilladelse, //, fordi save_post kan udløses ved andre lejligheder, hvis!wp_verify_nonce ($_post ['custom_sidebar_nonce "plugin_basename (__file__)) tilbage, hvis (!current_user_can ('edit_page, $post_id) tilbage, $data = $_post ['custom_sidebar'] update_post_meta ($post_id "custom_sidebar" - data)}, nu skal du nu være i stand til at se denne rubrik i post - edit side i højre kolonne.hvis ikke, skal de kontrollere, at den skik sidebar rubrik vises i den øverste skærm muligheder panel.,, løntrin 4 tilpasse skabelon filer, nu er alt korrekt, hvad der er tilbage at gøre, er at ajourføre vores blive filer, så de kan vise skik sidebars. lad os skabe en ny side baseret på, tager skabelon (findes på side attributter boks).denne model er baseret på, sidebar-page.php, fil.redigere denne sag og tilføje disse linjer på toppen (under den model er kommenteret header): $muligheder = get_post_custom (get_the_id()); hvis (isset ($muligheder ['custom_sidebar '])) ($sidebar_choice = $muligheder ['custom_sidebar'] [0]} andre ($sidebar_choice = "standard".}, vi finder den post, meta - data for at få valgt gruppemøde.,, kontakt mellem en speciel aftale og standardfunktionen, ændre, get_sidebar(), kald på bunden af denne linje til dette: hvis ($sidebar_choice & &. $sidebar_choice!= "default") (get_sidebar ("vane");} andre (get_sidebar();}, get_sidebar ($kugle), kræver, at samråd kugle. folkesundhedsprogrammet.så, hvad vi skal gøre, er at skabe en fil ved navn, sidebar-custom.php, og tilføje det indenfor: $muligheder = get_post_custom ($post - > id); $sidebar_choice = $muligheder ['custom_sidebar '] [0]?> < uden id = "aftale" klasse = "floatleft" > < ul klasse = "widgets" > <?folkesundhedsprogrammet aspektet om.function_exists ('dynamic_sidebar ')