ved hjælp af wordpress at skabe en faq - systemet med skik efter typer,,,,, 45,,,,,,,, 14,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, jeg arbejdede for nylig med en af mine klienter, der fungerer som en professionel rådgiver i hendes område.hun spurgte, om jeg kunne gennemføre en q & et system eller en faq side, for at være præcis.jeg sagde, "ja, vi kan skabe en side og pasta de spørgsmål og svar, der med forskellige stil, men hun sagde, hun ville skabe forskellige sider og klassificeringen af spørgsmål og svar, og for at være mere organiseret, hun havde brug for en anden tilgang,.,,,,, vil jeg for at vise dig, hvordan jeg klarede hendes anmodninger med nogle enkle linjer kode efter sædvane efter type, taxonomies, og shortcodes.,, sædvane efter type og taksonomi, hvad skal vi bygge en faq - systemet? , har vi brug for områder med spørgsmål og svar. vi har brug for kategorier til klassificering og separate forskellige spørgsmål, og deres svar. i vores tilfælde, vi har brug for en shortcode at integrere disse spørgsmål grupper eller alle spørgsmål på en side eller en stilling,.,, lad os begynde med at skabe den sædvane, efter type., trin 1: at skabe sædvane efter type, naturligvis skal vi starte med at oprette en sædvane efter type, for vores faq poster.vi er ved at skabe en ny skik efter type ved hjælp af, register_post_type(), funktion, men hvis du vil have en gui for at skabe din post - typen, du kan lave det med generatewp efter type generator redskab, som jeg gjorde i dette eksempel:,, <?folkesundhedsprogrammet aspektet om.function_exists ('tuts_faq_cpt')) (//register sædvane efter type funktion tuts_faq_cpt() (//disse er mærket i admin grænseflade, redigere, som du $etiketter = system ('name = > _x (faq "," post - almindelige navn, tuts_faq "),'singular_name" = > _x (faq "," post - enestående navn, tuts_faq "),'menu_name = > __ (faq", "tuts_faq"),'parent_item_colon = > __ ("forælder punkt:", "tuts_faq"),'all_items = > __ (alle produkter, tuts_faq "),'view_item = > __ (synspunkt punkt", "tuts_faq"),'add_new_item = > __ ("tilføje nye fao - post", "tuts_faq"),'add_new = > __ ("tilføje nye", "tuts_faq"),'edit_item = > __ ("edit post", "tuts_faq"),'update_item = > __ ("ajourføre punkt", "tuts_faq"),'search_items = > __ (- punkt, tuts_faq "),'not_found = > __ (ikke - fandt, tuts_faq"),'not_found_in_trash = > __ ("findes ikke i skraldespanden, tuts_faq)); $args = system (//brug etiketterne over'labels = > $etiketter //skal vi kun bruge den titel visuel redaktør, og uddrag områder for vores post -'supports = > system (afsnit, redaktør, uddrag,) //, vil vi skabe denne taksonomi i næste afsnit, men vi er nødt til at forbinde vores post - at det nu'taxonomies = > system ('tuts_faq_tax") ////////gøre det offentligt, så vi kan se det i administrationen panel og vise det i forenden »tâches = > sandt, //vise menupunkt under sider punkt'menu_position = > 20 //vise arkiver, hvis du ikke har brug for shortcode'has_archive = >,); register_post_type ('tuts_faq, $args)} //klo i den lokalitet, der add_action ("lokalitet, tuts_faq_cpt, 0))?>,,, tip: , hvis dit projekt kommer til at omfatte flere kunder efter type, der kan være mere kompleks end denne enkle faq efter type, kan jeg ikke foreslå et fedt værktøj til supercpt, der giver dem mulighed for at skabe nye typer med enklere regler.jeg har skrevet en forelæsning om supercpt, kan du tjekke det her.,, trin 2: at skabe skik taksonomi, med henblik på at adskille forskellige typer spørgsmål (som min klients spørgsmål og svar om abort og en fødselsdepression), har vi brug for en kategori system.som mange af jer ved, wordpress giver denne funktion med skik taxonomies.,, de væsentlige funktion her, er, register_taxonomy(), men igen, du kan bruge generatewp er taksonomi generator redskab, hvis du har brug for en grafisk brugerflade. , her er den kode:,, <?folkesundhedsprogrammet aspektet om.function_exists ('tuts_faq_tax')) (//register skik taksonomi funktion tuts_faq_tax() (//igen, etiketter for admin panel $etiketter = system ('name = > _x (faq kategorier "," taksonomi almindelige navn, tuts_faq "),'singular_name = > _x (faq kategori", "taksonomi enestående navn, tuts_faq"),'menu_name = > __ (faq kategorier "," tuts_faq "),'all_items = > __ (" faq katte "," tuts_faq "),'parent_item = > __ (" forælder faq kat "" tuts_faq "),'parent_item_colon = > __ (" forælder faq kat: "," tuts_faq "),'new_item_name = > __ (" nye faq kat, tuts_faq "),'add_new_item"= > __ ("tilføje nye faq kat, tuts_faq"),'edit_item = > __ ("edit faq kat, tuts_faq"),'update_item = > __ ("ajourføring faq kat, tuts_faq"),'separate_items_with_commas = > __ ("separate poster med kommaer, tuts_faq"),'search_items = > __ (at finde punkter, tuts_faq "),'add_or_remove_items = > __ (" tilføje eller fjerne punkter, tuts_faq "),'choose_from_most_used = > __ (" vælg fra den mest anvendte poster, tuts_faq "),'not_found = > __ (" findes ikke, tuts_faq)); $args = system (//brug etiketterne over'labels = > $etiketter //taksonomi bør være hierarkiske så we kan vises som en kategori afsnit'hierarchical = > sandt, //igen gøre taksonomi offentlige (som efter type) offentligt = > sandt,); //indholdet af opstillingen nedenfor angiver, hvilke efter typer skal taksonomien være knyttet til register_taxonomy ('tuts_faq_tax ", mængde (tuts_faq), $args)} //klo i den lokalitet, der add_action (" lokalitet, tuts_faq_tax, 0))?>,, det er det!nu har du en faq post med en taksonomi, kaldet "faq kategorier", der er knyttet til hinanden.tjek din administration panel, og du vil se "faq kategorier" menupunkt under "faq". ,, som almindelig post kategorier, kan du tilføje, redigere eller fjerne dem i "faq kategorier" side, eller du kan tilføje nye kategorier, mens du er ved at skrive en ny faq - punkt.,, skridt 3: at skabe [faq], shortcode, her kommer det: bygning af shortcode.- hvis du har læst mine tidligere stillinger, du ved, at jeg er en stor fan af wordpress, shortcodes. vi er i bund og grund stille faq - poster, indlejret i stillinger og sider. , her er hvad der skal ske:,,, spørgsmål i vores nye sædvane efter type,,, - de kategorier af shortcode parameter, udviser de spørgsmål og svar, som titel og indhold, viser et uddrag af svaret med et "mere" link, kontrolleres af en anden shortcode parameter.,,, lad os begynde opbygningen af shortcode.som en kode, jeg kommer til at omfatte nogle nyttige bemærkninger:,, <?folkesundhedsprogrammet aspektet om.function_exists ('tuts_faq_shortcode')) (funktion tuts_faq_shortcode ($atts) (ekstrakt (shortcode_atts (array (//kategori en attribut - misligholdelser til blanke'category = > '//fulde indhold eller uddrag attribut - misligholdelser til fulde indhold'excerpt = > "falske"). atts) $produktion = "; //sæt forespørgslen argumenter $query_args = system (//vise alle stillinger, bidrog til denne forespørgsel'posts_per_page = > - 1 //show" tuts_faq "sædvane efter type'post_type = >'tuts_faq, //viser de stillinger, der svarer til de en af fao kategori, der er specificeret med shortcode er attribut'tax_query = > system (system ('taxonomy = >'tuts_faq_tax",'field = >'slug,'terms = > $kategori) //- wordpress, at det ikke behøver at tælle samlede rækker - dette lille trick reducerer belastningen på database, hvis du behøver ikke drikke'no_found_rows = > sandt,); //få stillinger med vores forespørgsel argumenter $faq_posts = get_posts ($query_args); $produktion. = < div klasse = "tuts faq" > '; //klare vores skik loop hver ($faq_posts som $post) (setup_postdata ($post); $faq_item_title = get_the_title ($post - > id); $faq_item_permalink = get_permalink ($post - > id); $faq_item_content = get_the_content(); hvis ($uddrag = =' ægte ') $faq_item_content = get_the_excerpt(). "< en href = ".faq_item_permalink dollars. "> ".__ ("...", "tuts_faq ').< /a > "$produktion. = < div klasse =" tuts faq - punkt ">" $produktion. = < h3 klasse = "tuts faq - punkt titel" > ".faq_item_title dollars. "< /h3 > "$produktion. = < div klasse =" tuts faq - punkt indhold ">".faq_item_content dollars. "< /div > "$produktion. = < /div > «) wp_reset_postdata(). $produktion. = < /div > « tilbage $udgangseffekt} add_shortcode (faq", "tuts_faq_shortcode)}?>,, det er det!nu har vi en ordentlig shortcode at forankre vores spørgsmål og svar.- stil det med klasse navne, tuts faq,, tuts faq - punkt, tuts faq - punkt titel, og tuts faq - punkt indhold.selv om det skulle være i orden, hvis du ikke omfatter yderligere stilfuldhed.,, trin 4: afslutter den kode, da disse dele af koden er ikke kun om design forenden, men også at indføre nye funktioner, det tæller som stik af område.det er derfor, vi skal redde kodeks som et stik af.og mens vi er ved det, skal vi også smide om regler for aktivering og deaktivering.,, her er den fulde kode:,, <?php /* stik af navn: simpelt faq system stik af uri: http://code.tutsplus.com/beskrivelse: hjælper med at skabe et faq afdeling for deres wordpress websted.shortcode anvendelse: < kode > [faq] < /kode > version 1.0. forfatter: bar ış Ü nver forfatter uri: http://hub.tutsplus.com/authors/baris-unver kørekort: offentlige * /er.function_exists ('tuts_faq_cpt')) (//register sædvane efter type funktion tuts_faq_cpt() (//disse er mærket i admin grænseflade, redigere, som du $etiketter = system ('name = > _x (faq "," post - almindelige navn, tuts_faq "),'singular_name" = > _x (faq "," post - enestående navn, tuts_faq "),'menu_name = > __ (faq", "tuts_faq"),'parent_item_colon = > __ ("forælder punkt:", "tuts_faq"),'all_items = > __ (alle produkter, tuts_faq "),'view_item = > __ (synspunkt punkt", "tuts_faq"),'add_new_item = > __ ("tilføje nye fao - post", "tuts_faq"),'add_new = > __ ("tilføje nye", "tuts_faq"),'edit_item = > __ ("edit post", "tuts_faq"),'update_item = > __ ("ajourføre punkt", "tuts_faq"),'search_items = > __ (- punkt, tuts_faq "),'not_found = > __ (ikke - fandt, tuts_faq"),'not_found_in_trash = > __ ("findes ikke i skraldespanden, tuts_faq)); $args = system (//brug etiketterne over'labels = > $etiketter //skal vi kun bruge den titel visuel redaktør, og uddrag områder for vores post -'supports = > system (afsnit, redaktør, uddrag,) //, vil vi skabe denne taksonomi i næste afsnit, men vi er nødt til at forbinde vores post - at det nu'taxonomies = > system ('tuts_faq_tax") ////////gøre det offentligt, så vi kan se det i administrationen panel og vise det i forenden »tâches = > sandt, //vise menupunkt under sider punkt'menu_position = > 20 //vise arkiver, hvis du ikke har brug for shortcode'has_archive = >,); register_post_type ('tuts_faq, $args)} //klo i den lokalitet, der add_action ("lokalitet, tuts_faq_cpt, 0)} hvis (!function_exists ('tuts_faq_tax')) (//register skik taksonomi funktion tuts_faq_tax() (//igen, etiketter for admin panel $etiketter = system ('name = > _x (faq kategorier "," taksonomi almindelige navn, tuts_faq "),'singular_name = > _x (faq kategori", "taksonomi enestående navn, tuts_faq"),'menu_name = > __ (faq kategorier "," tuts_faq "),'all_items = > __ (" faq katte "," tuts_faq "),'parent_item = > __ (" forælder faq kat "" tuts_faq "),'parent_item_colon = > __ (" forælder faq kat: "," tuts_faq "),'new_item_name = > __ (" nye faq kat, tuts_faq "),'add_new_item"= > __ ("tilføje nye faq kat, tuts_faq"),'edit_item = > __ ("edit faq kat, tuts_faq"),'update_item = > __ ("ajourføring faq kat, tuts_faq"),'separate_items_with_commas = > __ ("separate poster med kommaer, tuts_faq"),'search_items = > __ (at finde punkter, tuts_faq "),'add_or_remove_items = > __ (" tilføje eller fjerne punkter, tuts_faq "),'choose_from_most_used = > __ (" vælg fra den mest anvendte poster, tuts_faq "),'not_found = > __ (" findes ikke, tuts_faq)); $args = system (//brug etiketterne over'labels = > $etiketter //taksonomi bør være hierarkiske så we kan vises som en kategori afsnit'hierarchical = > sandt, //igen gøre taksonomi offentlige (som efter type) offentligt = > sandt,); //indholdet af opstillingen nedenfor angiver, hvilke efter typer skal taksonomien være knyttet til register_taxonomy ('tuts_faq_tax ", mængde (tuts_faq), $args)} //klo i den lokalitet, der add_action (" lokalitet, tuts_faq_tax, 0)} hvis (!function_exists ('tuts_faq_shortcode')) (funktion tuts_faq_shortcode ($atts) (ekstrakt (shortcode_atts (array (//kategori en attribut - misligholdelser til blanke'category = > '//fulde indhold eller uddrag attribut - misligholdelser til fulde indhold'excerpt = > "falske"). atts) $produktion = "; //sæt forespørgslen argumenter $query_args = system (//vise alle stillinger, bidrog til denne forespørgsel'posts_per_page = > - 1 //show" tuts_faq "sædvane efter type'post_type = >'tuts_faq, //viser de stillinger, der svarer til de en af fao kategori, der er specificeret med shortcode er attribut'tax_query = > system (system ('taxonomy = >'tuts_faq_tax",'field = >'slug,'terms = > $kategori) //- wordpress, at det ikke behøver at tælle samlede rækker - dette lille trick reducerer belastningen på database, hvis du behøver ikke drikke'no_found_rows = > sandt,); //få stillinger med vores forespørgsel argumenter $faq_posts = get_posts ($query_args); $produktion. = < div klasse = "tuts faq" > '; //klare vores skik loop hver ($faq_posts som $post) (setup_postdata ($post); $faq_item_title = get_the_title ($post - > id); $faq_item_permalink = get_permalink ($post - > id); $faq_item_content = get_the_content(); hvis ($uddrag = =' ægte ') $faq_item_content = get_the_excerpt(). "< en href = ".faq_item_permalink dollars. "> ".__ ("...", "tuts_faq ').< /a > "$produktion. = < div klasse =" tuts faq - punkt ">" $produktion. = < h2 klasse = "faq - punkt titel" > ".faq_item_title dollars. "< /h2 > "$produktion. = < div klasse =" faq - punkt indhold ">".faq_item_content dollars. "< /div > "$produktion. = < /div > «) wp_reset_postdata(). $produktion. = < /div > « tilbage $udgangseffekt} add_shortcode (faq", "tuts_faq_shortcode)} funktion tuts_faq_activate() {tuts_faq_cpt(); flush_rewrite_rules();} register_activation_hook (__file__, tuts_faq_activate); funktion tuts_faq_deactivate() {flush_rewrite_rules();} register_deactivation_hook (__file__, tuts_faq_deactivate)?>,, plads til forbedring, min klient var tilfreds med resultatet, da jeg viste hende, hvordan man bruger det.men her kan vi udvide kodeksen med flere funktioner, som...... harmonika virkning:,, hvis du ønsker at få din faq sektioner mere attraktive med nogle greb virkninger, du kan bruge noget fantastisk jquery plugins.hvis du ønsker at bruge jquery ui, der er en fantastisk lektion af shane osbourne, som viser, hvordan det skal gøres.,, sidenummerering:,, hvis du har en masse spørgsmål og svar for en kategori og ønsker ikke at vise alle punkter på én gang, du kan begrænse antallet af stillinger ved at ændre den, posts_per_page parameter i custom forespørgsel af vores shortcode, og tilføje de nødvendige kode for sidenummerering forbindelser under linjen med, wp_reset_postdata(); kode.husk at fjerne,'no_found_rows = > sandt, overensstemmelse, selv om -, drikke og vil ikke fungere, hvis du ikke får det!, et spørgsmål: lad os sige, at de ønsker at udvise en tilfældig spørgsmål og svar på hjemmeside, og du vil have det til at ændre alle sider her.alt du skal gøre er at tage til sædvane forespørgsel, ændre, posts_per_page parameter fra - 1, 1, og tilføje en overensstemmelse med reglerne,'orderby = > "tilfældige", og du er god til at gå.,,, konklusion, er det sådan du bygge en simpel faq - systemet i wordpress gennem anvendelse af sædvane efter typer skik taxonomies, og shortcodes.jeg håber, du nød det pædagogiske og du kan bruge det i din næste projekt.glem ikke at dele den artikel, hvis du kunne lide det., har du nogle forslag til forbedring af denne faq - systemet?deler deres bemærkninger under!,
ved hjælp af wordpress at skabe en faq - systemet med skik efter typer
Previous:arbejde med modeller i symfony 2
Next Page:refactoring arv kode: del 4