, opbygningen af en dynamisk sædvane efter type, stik af,,,,, 2,,,,,,,,, 7,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, ofte kommer man til at træffe et valg og beslutte, hvordan de vil gennemføre en bestemt funktion.wordppress har en meget fleksibel tilgang til næsten alle problemer, og i denne forelæsning, vi skal se på, hvordan fleksibel sædvane efter type api -.,, der er mange ting, du kan gøre med sædvane efter art, herunder skabe og forvalte visse stillinger på en skik sider, slideshows, gallerier, porteføljeenheder selv.nogle folk ikke ved, de eksisterer endnu, andre ikke forstår fuldt ud deres muligheder, og hvordan man bruger dem.vi vil forsøge, i det følgende skridt at opbygge en specifik stik af, der anvender sædvane efter typer på det bedste.for at være mere præcis, vi skal bygge et stik af, der skaber en sædvane efter type, der skaber og forvalter, dynamisk, andre sædvane efter art (det er begyndelse i her..,, 1. trin planen, inden vi kan begynde, skal vi tage et nærmere kig på, hvad det er, vi skal bygge på denne lektion i, hvordan og hvorfor.formålet med denne lektion er at hjælpe til at kende til sædvane efter typer i wordpress. for at gøre dette skal vi opbygge et stik af, der skaber en vigtigste sædvane efter type, så bruger de stillinger, i, at det efter type, med en indstillinger meta - kasse, til at skabe yderligere, dynamisk sædvane efter typer baseret på meta - rubrik grænseflade muligheder.det vil hjælpe dig med at forstå det i detaljer alle sædvane efter muligheder, og nogle af de muligheder, det kan give.i forbindelse med denne forelæsning, er det underforstået, at du har en apache - server med folkesundhedsprogrammet og mysql løber, og wordpress installeres, så du kan prøve den stik af kode på 3, 0 + version af wordpress. hver post skal fortolkes som en ny skik efter type, og vi vil redde for hver post i skik konfiguration muligheder områder ved hjælp af en meta - æske med mange former for galochka, dropdown kasser ogtekstboks, der opbevares og viser data, som gør det lettere for brugeren at ændre noget, fordi stik af er 450 linjer kode, ikke hver linje kode vil eksistere i ministeriet, som de fleste kode gentages og variabler er forskellige.men alle de funktioner af stik af vil blive forklaret og kildekoden gives som eksempel.,, trin 2, skabe og forståelse af kroge, hvis vi ønsker at komme til sædvane efter type funktioner, metabox funktionsdygtighed, og vi ønsker at redde data om ajourføring eller offentliggøre foranstaltninger, har vi brug for kroge, og vi for at gennemføre dem, navnlig for at få den ønskede virkning, add_action ('save_post "," cpt_save_postdata '); add_action ('add_meta_boxes "," cpt_add_meta_boxes'); add_action ('init "," init_custom_post_types), vi kun vil have tre kroge i denne forelæsning, ingen filtre, intet andet på centrale funktioner.først skal vi bruge en krog til at generere sædvane efter type i denne funktion.for at vi kommer til at bruge den, lokalitet, et slag, og denne funktion ved navn,'init_custom_post_types ".det er hvor magien sker, nemlig det er, hvor vi giver udtryk for vores sædvane efter type, og hvor vi gør dem dynamiske ved ekstraktion af værdier fra databasen, og til at skabe dynamiske sædvane efter art i et loop.denne del af kodeksen skal diskuteres senere. en krog, vi har brug for, er,'add_meta_boxes ", et hook, der peger på, at den callback funktion,'cpt_add_meta_boxes, og anvendes til at generere meta - kasser i de vigtigste sædvane efter type, der producerer alle de andre skik post - typer.det er, hvor vi skaber de formularer, der skal opbevares og ajourføre de oplysninger, vi har brug for at manipulere med til at skabe vores funktioner. den sidste slag, vi bruger,'save_post "med denne funktion,'cpt_save_postdata", og med henblik på at redde meta - box udstationerede data.når den side af de vigtigste sædvane efter type er indgivet i administrationen panel af brugeren, alle form felter, der er forelagt, og det er det, som vi bruger til at tage det indhold og redde /ajourføring af det i databasen til senere brug.,, trin 3, at de vigtigste sædvane efter type, først skal vi for at skabe en generel sædvane efter type, der vil behandle alle dynamiske indhold.for at gøre dette, skaber vi en generisk sædvane efter type af hårde kodede data i det næste eksempel.først skal vi skabe de etiketter.etiketterne parameter er en af de vigtigste argument, værdier, som fortolkes som et system.array - værdier er givet ved deres identifikatorer, specifikt navn, for de vigtigste generelle navn af sædvane efter type, der sædvanligvis er en pluralistisk række sædvane efter type, navn, singular_name for sædvane efter type objekt navn i ental, add_new, tilføje nye serie tekst, add_new_item, det er standard tilføje nye post /side tekst, edit_item, som misligholdelse tekst for edit post eller side, all_items, anvendes til at vise alle sædvane efter type navne tekst, hvor anmodet om (f.eks. biler), view_items, og search_items, anvendes som det foregående eksempel for åbenbart forskellige formål, not_found,, not_fount_in_trash,, parent_item_colon, er også udskiftning tekster, der anvendes til visse sider af stillinger (skik post - typer) functiona), at måske du skulle skifte til en sædvane efter type, du skaber. i det næste eksempel, $etiketter, array bruger katodestrålerør til udskiftning af misligholdelse post /stillinger /page /sider tekst.I guess it is not necessary for some readers but just to be sure I don't miss the idea, CPT stands for Custom Post Type and is and will be used in a number of ways during the tutorial.,An important note, this code is inserted into the ,init_custom_post_types, callback function for it to work properly., $labels = array( \t'name' => _x('CPT', 'post type general name'), \t'singular_name' => _x('CPT', 'post type singular name'), \t'add_new' => _x('Add New CPT', 'CPT'), \t'add_new_item' => __('Add New Post type'), \t'edit_item' => __('Edit CPT'), \t'new_item' => __('New CPT'), \t'all_items' => __('All CPT'), \t'view_item' => __('View CPT'), \t'search_items' => __('Search CPT'), \t'not_found' => __('No CPT found'), \t'not_found_in_trash' => __('No CPT found in Trash'), \t'parent_item_colon' => '', \t'menu_name' => __('CPT') ); $args = array( \t'labels' => $labels, \t'public' => true, \t'publicly_queryable' => true, \t'show_ui' => true, \t'show_in_menu' => true, \t'query_var' => true, \t'rewrite' => true, \t'capability_type' => 'post', \t'has_archive' => true, \t'hierarchical' => false, \t'menu_position' => null, \t'supports' => array('title') ); register_post_type('CPT', $args);,The main array needed for generating the custom post type is the ,$args, array, used for the sole purpose of setting the main options of the custom post type and managing its functionality., ,The first array variable is named mærkning, og vi tidligere tog sig af strukturen af denne værdi.,, offentlige, – en boolean - variabel, rigtigt eller forkert, det er tilgængeligheden af sædvane efter type, hvis det offentlige for admin grænseflade eller af hjælpe brugerne i tema,.,, publicly_queryable, – igen en boolean - værdi, der angiver hvis forenden kan være resultatet af sædvane efter type.,, show_ui, – en boolean, hvis misligholdelse admin indhold er udarbejdet med den sædvane, efter type eller ej.,, show_in_menu, – endnu en boolean - variabel, der kræver, show_ui, til at være sandt at fungere, da dets formål er at vis eller ikke at vise de efter type i menuen i wordpress admin panel.,, query_var, – skaber en forespørgsel, var afgørende for denne skikefter type.du kan bruge det som boolean - eller snor, hvis det er sandt, det er automatisk deaktiverer forespørgsel var nøglen og falske snor fastsætter en skik.i vores eksempel, vi bruger en standardværdi og sæt den til sandt., om, – dette forhindrer omskrivninger til denne post -.,, capability_type, – omsider en snor, som fastsætter, hvis sædvane efter type er en stilling eller en side i en almindelig tekst snor.vi bruger post.,, has_archive, – denne parameter kan efter arkiver og anvendelser, post_type ved misligholdelse som arkiv kugle.,, hierarkisk, – en boolean, der fastsætter, hvis den efter type er hierarkisk eller ej, dvs. hvis det gør det muligt for forældre, der specificeres eller ej.,, menu_position, – en kæde, der repræsenterer position for post - at vise på menuen.de værdier, som vi ca. 5 indtil 100.,, støtter, – denne værdi har en vifte værdi igen, denne gang med de værdier, som afsnit, redaktør, virksomhed beskrevet, sædvane områder, trackbacks, revisioner, side attributter og post - formater.,, de vigtigste args system anvendes i næste register_post_type, funktion, der er den første parameter sædvane efter type, navn (i dette tilfælde cpt), og den anden er $args, variable. her omfatter oprettelsen af vores vigtigste sædvane efter type, med eksemplet og beskrevet ovenfor.,, løntrin 4 kodning meta - kasse, vi dækkede kroge, en af de kroge gennemført en, der havde en callback - funktion, specielt for meta - box gennemførelse.denne funktion ser sådan ud:, funktion cpt_add_meta_boxes() {add_meta_box ('cpt_meta_id "," sædvane efter type indstillinger, cpt_inner_custom_box, katodestrålerør "," normale ");}, i funktion, vi har, add_meta_box, funktion, der er misligholdelse parametre for gennemførelse af en meta - boks, nemlig den enestående meta - æske id, titlen på det, det bør fungere og sædvane efter type, hvor den skulle anvendes, og sidst, men ikke mindst, er den holdning, vi skal fastlægge den normale, som vi vil have det rigtige i henhold til redaktøren). det er det for at skabe ved hjælp af api, men hvad skal vi udfylde den med?- vi skal fylde den med alle de tidligere har drøftet muligheder fra trin 3 og til at gøre dette, skal vi skabe form områder og fylde dem med data, afhængigt af deres art. nogle vil være for galochka, vi bruger til galochka for mange argumenter, som har brug for boolean - værdier.kontrolleret, er rigtigt, og de er falske. < td > < input type = "afkrydsningsfelt" <?folkesundhedsprogrammet aspektet om ($cp_publicly_queryable = = "på") (echo "kontrol")?> navn = "cp_publicly_queryable" /> offentligt queryable < /td >, andre vil være ned kasser, en vifte argumenter kræver flere elementer at vælge imellem.det bruger vi ned kasser med hardcoded værdier, som passer til vores behov. < td > menu holdning: < br /> < udvælge navn = "cp_menu_position" > < alternativ værdi = "post" <?folkesundhedsprogrammet aspektet om ($cp_menu_position = = "post") (echo "udvalgt")?> > post < /mulighed > < alternativ værdi = "s" <?folkesundhedsprogrammet aspektet om ($cp_menu_position = = "s") (echo "udvalgt")?> > side < /mulighed > < /udvælge > < /td > og andre tekst områder, vi skal opbevare snor værdier i disse form områder. < td > almindelige navn: < br /> < input type = "tekst" navn = "cp_general_name" værdi = "<?php echo $cp_general_name;?> "/> < /td >, du har bemærket, at de er fyldt med folkesundhedsprogrammet variabler og fungerer med data.men hvor er de variabler, der kommer fra, kan du spørge dig selv, og hvad med oplysningerne?for at besvare dette spørgsmål, vi skal tage det næste skridt og redde form områder skabt lige nu.men jeg vil ikke gøre dig gå frem og tilbage gennem de foranstaltninger, jeg vil bede dig om at gå ud fra, at alle data er gemt på en eller anden måde i databasen, vil jeg vise dig, hvordan, og alt, hvad vi behøver at gøre, er at udvinde det til variabler som i følgende eksempel: global $$cp_public post. = get_post_meta ($post - > id, cp_public, sande), i vores meta - box callback funktion, vi erklærer den globale variabel, $post, for at få de nuværende post id senere, og fordi de data lagres som en speciel post, vi kommer til at bruge den, get_post_meta, funktion for at få meta - afgørende værdi opbevares for hver variabel som ovenstående eksempel, hvor den første parameter er post - id, den anden er meta - nøgle, og den tredje er en boolean fortæller den funktion at vende tilbage en string and not an array.,There are a number of 27 variables used in this tutorial stored as custom posts and they look like this:, \t$cp_public = get_post_meta($post->ID, 'cp_public', true); \t$cp_publicly_queryable = get_post_meta($post->ID, 'cp_publicly_queryable', true); \t$cp_show_ui = get_post_meta($post->ID, 'cp_show_ui', true); \t$cp_show_in_menu = get_post_meta($post->ID, 'cp_show_in_menu', true); \t$cp_query_var = get_post_meta($post->ID, 'cp_query_var', true); \t$cp_rewrite = get_post_meta($post->ID, 'cp_rewrite', true); \t$cp_has_archive = get_post_meta($post->ID, 'cp_has_archive', true); \t$cp_hierarchical = get_post_meta($post->ID, 'cp_hierarchical', true); \t$cp_capability_type = get_post_meta($post->ID, 'cp_capability_type', true); \t$cp_menu_position = get_post_meta($post->ID, 'cp_menu_position', true); \t$cp_s_title = get_post_meta($post->ID, 'cp_s_title', true); \t$cp_s_editor = get_post_meta($post->ID, 'cp_s_editor', true); \t$cp_s_author = get_post_meta($post->ID, 'cp_s_author', true); \t$cp_s_thumbnail = get_post_meta($post->ID, 'cp_s_thumbnail', true); \t$cp_s_excerpt = get_post_meta($post->ID, 'cp_s_excerpt', true); \t$cp_s_comments = get_post_meta($post->ID, 'cp_s_comments', true); \t$cp_general_name = get_post_meta($post->ID, 'cp_general_name', true); \t$cp_singular_name = get_post_meta($post->ID, 'cp_singular_name', true); \t$cp_add_new = get_post_meta($post->ID, 'cp_add_new', true); \t$cp_add_new_item = get_post_meta ($post - > id, cp_add_new_item, sande); $cp_edit_item = get_post_meta ($post - > id, cp_edit_item, sande); $cp_new_item = get_post_meta ($post - > id, cp_new_item, sande); $cp_all_items = get_post_meta (- post - > id, cp_all_items, sande); $cp_view_item = get_post_meta ($post - > id, cp_view_item, sande); $cp_search_items = get_post_meta ($post - > id, cp_search_items, sande); $cp_not_found = get_post_meta ($post - > id, cp_not_found, sande); $cp_not_found_in_trash = get_post_meta ($post - > id, cp_not_found_in_trash, sande); $cp_parent_item_colon = get_post_meta ($post - > id, cp_parent_item_colon, sande);,, hvad du er nødt til at forstå, er, at de alle er fjernet på samme måde er der ikke noget særligteller en anden på denne lange liste over variabler undtagen deres værdier.selvfølgelig, det er tanken, at denne kodeks får oplysninger fra databasen og bruges senere i hvert område, for at vise, at data i administrationen panel meta - kasse som valgte værdi, som en streng, eller som en kontrolleret afkrydsningsfelt for boolean - værdier.alle funktioner kan blive set bedre i den vedlagte downloadbare filer. som følge heraf så vidt, det er sådan en sædvane efter sædvane efter type meta - box indhold ligner baseret på vores gennemførelse.,, løntrin 5 sparer de data, den form oplysningerne fra meta - boks skal reddes i database, så det kan anvendes senere til sædvane efter type, dynamisk og i funktion af meta - æske.for at redde de data, vi har, cpt_save_postdata, fungere som en callback - funktion, som vi har skabt, til at gøre det.men denne funktion skal være fyldt med funktioner, der faktisk redder de data.hvordan kan vi redde data for alle disse elementer.- og mest indlysende svar er skik områder.vi skal opbevare alle disse værdier i praksis inden for de vigtigste sædvane efter type individuel post, da det er meget lettere at forvalte senere, når vi udvinder dem, baseret på en bestemt ved post. her er den kode, der er nødvendige for at styre i det tidligere angivne funktioner for at redde alle de data, vi har brug for. globale $post; hvis ($_post ['cpt-hidd ". = = 'ægte') ($cp_public = get_post_meta ($post - > id, cp_public, sande); $cp_publicly_queryable = get_post_meta ($post - > id, cp_publicly_queryable, sande); $cp_show_ui = get_post_meta (- post - > id, cp_show_ui, sande); $cp_show_in_menu = get_post_meta ($post - > id, cp_show_in_menu, sande); $cp_query_var = get_post_meta ($post - > id, cp_query_var, sande); $cp_rewrite = get_post_meta ($post->ID, 'cp_rewrite', true); \t$cp_has_archive = get_post_meta($post->ID, 'cp_has_archive', true); \t$cp_hierarchical = get_post_meta($post->ID, 'cp_hierarchical', true); \t$cp_capability_type = get_post_meta($post->ID, 'cp_capability_type', true); \t$cp_menu_position = get_post_meta($post->ID, 'cp_menu_position', true); \t$cp_s_title = get_post_meta($post->ID, 'cp_s_title', true); \t$cp_s_editor = get_post_meta($post->ID, 'cp_s_editor', true); \t$cp_s_author = get_post_meta($post->ID, 'cp_s_author', true); \t$cp_s_thumbnail = get_post_meta($post->ID, 'cp_s_thumbnail', true); \t$cp_s_excerpt = get_post_meta($post->ID, 'cp_s_excerpt', true); \t$cp_s_comments = get_post_meta($post->ID, 'cp_s_comments', true); \t$cp_general_name = get_post_meta($post->ID, 'cp_general_name', true); \t$cp_singular_name = get_post_meta($post->ID, 'cp_singular_name', true); \t$cp_add_new = get_post_meta($post->ID, 'cp_add_new', true); \t$cp_add_new_item = get_post_meta($post->ID, 'cp_add_new_item', true); \t$cp_edit_item = get_post_meta($post->ID, 'cp_edit_item', true); \t$cp_new_item = get_post_meta($post->ID, 'cp_new_item', true); \t$cp_all_items = get_post_meta($post->ID, 'cp_all_items', true); \t$cp_view_item = get_post_meta($post->ID, 'cp_view_item', true); \t$cp_search_items = get_post_meta($post->ID, 'cp_search_items', true); \t$cp_not_found = get_post_meta($post->ID, 'cp_not_found', true); \t$cp_not_found_in_trash = get_post_meta($post->ID, 'cp_not_found_in_trash', true); \t$cp_parent_item_colon = get_post_meta($post->ID, 'cp_parent_item_colon', true); \tupdate_post_meta($post->ID, 'cp_public', $_POST['cp_public'], $cp_public); \tupdate_post_meta($post->ID, 'cp_publicly_queryable', $_POST['cp_publicly_queryable'], $cp_publicly_queryable); \tupdate_post_meta($post->ID, 'cp_show_ui', $_POST['cp_show_ui'], $cp_show_ui); \tupdate_post_meta($post->ID, 'cp_show_in_menu', $_POST['cp_show_in_menu'], $cp_show_in_menu); \tupdate_post_meta($post->ID, 'cp_query_var', $_POST['cp_query_var'], $cp_query_var); \tupdate_post_meta($post->ID, 'cp_rewrite', $_POST['cp_rewrite'], $cp_rewrite); \tupdate_post_meta($post->ID, 'cp_has_archive', $_POST['cp_has_archive'], $cp_has_archive); \tupdate_post_meta($post->ID, 'cp_hierarchical', $_POST['cp_hierarchical'], $cp_hierarchical); \tupdate_post_meta($post->ID, 'cp_capability_type', $_POST['cp_capability_type'], $cp_capability_type); \tupdate_post_meta($post->ID, 'cp_menu_position', $_POST['cp_menu_position'], $cp_menu_position); \tupdate_post_meta($post->ID, 'cp_s_title', $_POST['cp_s_title'], $cp_s_title); \tupdate_post_meta($post->ID, 'cp_s_editor', $_POST['cp_s_editor'], $cp_s_editor); \tupdate_post_meta($post->ID, 'cp_s_author', $_POST['cp_s_author'], $cp_s_author); \tupdate_post_meta($post->ID, 'cp_s_thumbnail', $_POST['cp_s_thumbnail'], $cp_s_thumbnail); \tupdate_post_meta($post->ID, 'cp_s_excerpt', $_POST['cp_s_excerpt'], $cp_s_excerpt); \tupdate_post_meta($post->ID, 'cp_s_comments', $_POST['cp_s_comments'], $cp_s_comments); \tupdate_post_meta($post->ID, 'cp_general_name', $_POST['cp_general_name'], $cp_general_name); \tupdate_post_meta($post->ID, 'cp_singular_name', $_POST['cp_singular_name'], $cp_singular_name); \tupdate_post_meta($post->ID, 'cp_add_new', $_POST['cp_add_new'], $cp_add_new); \tupdate_post_meta($post->ID, 'cp_add_new_item', $_POST['cp_add_new_item'], $cp_add_new_item); \tupdate_post_meta($post->ID, 'cp_edit_item', $_POST['cp_edit_item'], $cp_edit_item); \tupdate_post_meta($post->ID, 'cp_new_item', $_POST['cp_new_item'], $cp_new_item); \tupdate_post_meta($post->ID, 'cp_all_items', $_POST['cp_all_items'], $cp_all_items); update_post_meta ($post - > id, cp_view_item, $_post ['cp_view_item "$cp_view_item); update_post_meta ($post - > id, cp_search_items, $_post ['cp_search_items" $cp_search_items); update_post_meta ($post - > id, "cp_not_found, $_post ['cp_not_found" $cp_not_found); update_post_meta ($post - > id, cp_not_found_in_trash, $_post ['cp_not_found_in_trash "$cp_not_found_in_trash); update_post_meta ($post - > id, cp_parent_item_colon, $_post ['cp_parent_item_colon" $cp_parent_item_colon);), første, vi udvinder de variabler, som vi tidligere har gjort i toppen af meta - box funktioner, og så vi ajourføre dem med, update_post_meta, funktion, at vi giver de parametre: post - id, meta - nøgle navn, nye værdi, old - værdi.- nej, vi har ajourført de sædvaner inden for en værdi.vi er nødt til at gentage den proces, som de kan se i ovenstående eksempel til at dække alle de værdier og alle de muligheder, vi har brug for. det er det for at redde de data.,, trin 6 at skabe dynamiske sædvane efter former, så hvordan kan vi tage alle de data, vi har lige reddet og gøre det dynamiske?hvordan kan vi bruge det til at skabe sædvane efter typer?rolig, vi sætter spørgsmålstegn ved de vigtigste sædvane efter type, og for hver sløjfe efter vi udvinder sædvane områder og de data i array i overensstemmelse hermed. lad os se på, hvordan vi gør det.for det første sted denne kode i henhold til de vigtigste sædvane efter type kode, indenfor, init_custom_post_types, funktion.- og så starter vi med at skabe det spørgsmål: $the_query = nye wp_query (array ('post_type = > system ('cpt ')), mens ($the_query - > have_posts()): $the_query - > the_post();, skaber vi en variabel, der hedder $the_query, hvor vi opbevarer indholdet af den gældende vigtigste klasse funktion, wp_query med parametre for et system, der er værdien af det, post_type, navnet på den vigtigste sædvane efter type, nemlig katodestrålerør,.så begynder vi at sløjfe.i det vi skaber de variabler, som vi ønsker at holde de værdier, vi har brug for, ved at anvende den samme fremgangsmåde ved ekstraktion fra databasen, som skik områder: global $post; //************************* få værdier $cp_public = get_post_meta ($post - > id, cp_public, sande); hvis ($cp_public = = "på") ($cp_public = sandt.} andre ($cp_public = falske} $cp_publicly_queryable = get_post_meta ($post - > id, cp_publicly_queryable, sande); hvis ($cp_publicly_queryable = = "på") ($cp_publicly_queryable = sandt.} andre ($cp_publicly_queryable = falske} $cp_show_ui = get_post_meta ($post - > id, cp_show_ui, sande); hvis ($cp_show_ui = = "på") ($cp_show_ui = sandt.} andre ($cp_show_ui = falske} $cp_show_in_menu = -_post_meta($post->ID, 'cp_show_in_menu', true); // if ($cp_show_in_menu == "on") { \t$cp_show_in_menu = true; } else { \t$cp_show_in_menu = false; } $cp_query_var = get_post_meta($post->ID, 'cp_query_var', true); // if ($cp_query_var == "on") { \t$cp_query_var = true; } else { \t$cp_query_var = false; } $cp_rewrite = get_post_meta($post->ID, 'cp_rewrite', true); // if ($cp_rewrite == "on") { \t$cp_rewrite = true; } else { \t$cp_rewrite = false; } $cp_has_archive = get_post_meta($post->ID, 'cp_has_archive', true); // if ($cp_has_archive == "on") { \t$cp_has_archive = true; } else { \t$cp_has_archive = false; } $cp_hierarchical = get_post_meta($post->ID, 'cp_hierarchical', true); if ($cp_hierarchical == "on") { \t$cp_hierarchical = true; } else { \t$cp_hierarchical = false; } $cp_capability_type = get_post_meta($post->ID, 'cp_capability_type', true); $cp_menu_position = get_post_meta($post->ID, 'cp_menu_position', true); $cp_s_title = get_post_meta($post->ID, 'cp_s_title', true); if ($cp_s_title == "on") { \t$cp_s[] = 'title'; } $cp_s_editor = get_post_meta($post->ID, 'cp_s_editor', true); if ($cp_s_editor == "on") { \t$cp_s[] = 'editor'; } $cp_s_author = get_post_meta($post->ID, 'cp_s_author', true); if ($cp_s_author == "on") { \t$cp_s[] = 'author'; } $cp_s_thumbnail = get_post_meta($post->ID, 'cp_s_thumbnail', true); if ($cp_s_thumbnail == "on") { \t$cp_s[] = 'thumbnail'; } $cp_s_excerpt = get_post_meta($post->ID, 'cp_s_excerpt', true); if ($cp_s_excerpt == "on") { \tarray_push($cp_s, 'excerpt'); } $cp_s_comments = get_post_meta($post->ID, 'cp_s_comments', true); if ($cp_s_comments == "on") { \tarray_push($cp_s, 'comments'); } $cp_general_name = get_post_meta($post->ID, 'cp_general_name', true); $cp_singular_name = get_post_meta($post->ID, 'cp_singular_name', true); $cp_add_new = get_post_meta($post->ID, 'cp_add_new', true); $cp_add_new_item = get_post_meta($post->ID, 'cp_add_new_item', true); $cp_edit_item = get_post_meta($post->ID, 'cp_edit_item', true); $cp_new_item = get_post_meta($post->ID, 'cp_new_item', true); $cp_all_items = get_post_meta($post->ID, 'cp_all_items', true); $cp_view_item = get_post_meta ($post - > id, cp_view_item, sande); $cp_search_items = get_post_meta ($post - > id, cp_search_items, sande); $cp_not_found = get_post_meta ($post - > id, cp_not_found, sande); $cp_not_found_in_trash = get_post_meta ($post - > id, cp_not_found_in_trash, sande); $cp_parent_item_colon = get_post_meta ($post - > id, cp_parent_item_colon, sande), for nu er vi inde i forespørgslen loop, vi kan bruge en global, $post, variabel for at få id, vi har brug for.du har måske bemærket nogle betingelser, der er fastsat af en hvis her og der for de fleste variabler.disse findes, fordi den sande boolean - værdi eller visse andre strenge værdier skal gennemføres korrekt fra "om", snor, de repræsenterer, i er rigtigt, boolean - værdi, som de skal være, efter alt det her er i orden, vil vi indføje variablerne i rækken af de dynamiske sædvane efter type gennemførelse: $etiketter = system ('name = > _x (get_the_title ($post - > id), post - almindelige navn "),'singular_name = > _x ($cp_singular_name, efter type enestående navn"),'add_new = > _x ($cp_add_new, get_the_title ($post - > id)),'add_new_item = > __ ($cp_add_new_item),'edit_item = > __ ($cp_edit_item),'new_item = > __ ($cp_new_item),'all_items = > __ ($cp_all_items),'view_item = &__ ($cp_view gt._item),'search_items = > __ ($cp_search_items),'not_found = > __ ($cp_not_found),'not_found_in_trash = > __ ($cp_not_found_in_trash),'parent_item_colon = > __ ($cp_parent_item_colon),'menu_name = > __ (get_the_title ($post - > id)); $args = system ('labels = > $etiketter, offentligt = > $cp_public,'publicly_queryable = > $cp_publicly_queryable,'show_ui = > $cp_show_ui,'show_in_menu = > $cp_show_in_menu,'query_var = > $cp_query_var,'rewrite = > $cp_rewrite,'capability_type = > "post",'has_archive = > $cp_has_archive,'hierarchical = > $cp_hierarchical,'menu_position = > $cp_menu_position,'supports = > $cp_s); register_post_type (get_the_title ($post - > id), $args); endwhile;, efter afsnit anvendes som den vigtigste navn af sædvane efter type og meta - box indstillinger, som resten af de egenskaber.det er alt, alt, hvad der er brug for til at gennemføre den dynamiske sædvane efter type i wordpress.hvad du måske har bemærket, er, at vi også tæt på løkken ved afslutningen af den foregående kodeks.,, indgåelse, sædvane efter typer er ikke svært at klare, og de er ret smidig i de funktioner, som de kan kræve selv med andre kroge, filtre eller sædvane funktioner.i denne forelæsning, lykkedes det os at dække en særlig dynamisk gennemførelse af sædvane efter type forvaltning i en enkelt stik af, forklares med kode og filer, for deres behov.selvfølgelig, anvendelse af sædvane efter type ikke begrænser disse eksempler, som kan bruges i mange former for anvendelse, plugins og temaer viklet ind i mange kroge, bestred på forskellige måder, filtreret eller manipuleret på mange måder.