gewoonte, speciaal het type extra klassen,,,,,,,,,, 1, 12 - eenheid,,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' missen. Veel van deze dagen, en we gebruiken dit soort wordpress projecten.De ontwikkeling van het creëren van een wordpress team gemakkelijke wijze integreren in uw project.Maar als je het soort gebruik, de indeling en de frequente - doos, waarschijnlijk zul je jezelf herhalen.Dit is de reden waarom we moeten gebruik maken van deze wordpress functie kunnen bouwen aan een sterkere, kunnen we het gebruiken om te snel na de registratie van een soort, categorie en per doos.,,, genaamd onze klas, dit is hoe we de les voor ons als het gedaan is, met inbegrip van ('custom-post-type. PHP); de nieuwe custom_post_type boek = de dollar ("boek"); $boek > add_taxonomy ("'); $boek > add_taxonomy (" auteur "); $boek > add_meta_box ('book informatie, - ('year" = > de tekst ",'genre" = > de tekst "); $boek > add_meta_box ('author informatie - (" naam "= > de tekst",'nationality "= > de tekst" in "= > de tekst"), categorie 1); en maatregelen, de eigenschappen en de methoden, we beginnen met het creëren vanKlasse, de belangrijkste eigenschappen, structuren en methoden.In deze handleiding zullen wij met onze programma 's de logica, custom_post_type (openbare post_type_name $post_type_args; publiek; de post_type_labels; * * * * * * * * * * * * * * /de fabrikant /__construct () {} /* * /- methode van openbare functie na de registratie van register_post_type () {} /* * /methoden na openbare functie - indeling add_taxonomy () {} /* * * * * * * * - doos na de hoogte - /openbare functie add_meta_box () {} /* * /post - luisteren als het behoud van de openbare functie Save () {}), 2, stap In de fabrikant fabrikant, we de oprichting van een aantal belangrijke variabelenIn het in de hele klas.We doen ook een beroep op de add_action, na de registratie van het type, en we luisteren als post - worden opgeslagen, zodat we kunnen redden van de metagegevens na.Als het type bestaan, add_action, niet te bellen, maar post_type_name dollar is, dus we kunnen het toevoegen van de indeling en de dollar doos, openbare functies __construct (. () = array, sprake van $$label = - () {///////een belangrijke variabele $- > post_type_name = strtolower (str_replace ("," _, $)); de dollar - > post_type_args = een dollar; de dollar - > post_type_labels = $etiketten; ///////toegevoegd na de registratie van het type operatie, als er geen als.Post_type_exists ($- > post_type_name)) {add_action ("-" - (& dollar "register_post_type")) ///////;) na de bewaarde USD - > Save (stap 3);}, en na de registratie, in register_post_type methode moet aan de zogenaamde,,,, add_action, in de constructeurs hebben we in de eerste plaats de naam (in hoofdletters) en meervoudig.De naam en de complexe bouwen we onze soort etiket en na die (fusie) en een bepaald etiket, de dollar - > post_type_labels, veranderd.Dan maken we onze argumenten heeft dezelfde beginselen van openbare functies, register_post_type () {///////capitilize woorden en het meervoud. = ucwords (str_replace ("_", "dollar - > post_type_name)); de naam van de complexe = dollar."///////zetten we de standaard label, op basis van het type naam en nummer na.We gebruiken een bepaald etiket voor ze.Etiket = array_merge dollar (///////standaard - ("naam" = > _x ("in het meervoud, na - soortnaam),'singular_name" = > _x (. Na enkele namen, type),'add_new "= > _x (toevoeging van een nieuwe, strtolower ($)),'add_new_item" = > __ ("het toevoegen van nieuwe.$),'edit_item "= > __ (" bewerken ".$),'new_item "= > __ (de" nieuwe ".$),'all_items "= > __ (" alle ".In het meervoud),'view_item "= > __ (" oog ".$),'search_items "= > __ (" gezocht ".In het meervoud),'not_found "= > __ (" nee ".Strtolower ($)). "Dat'not_found_in_trash), "= > __ (" nee ".Strtolower ($)). "Dat afval "),'parent_item_colon" = > ",'menu_name" = > meervoud), USD /dollar voor de etikettering van post_type_labels); ///////- > hetzelfde beginsel op het etiket.We hebben een aantal standaard, en het gebruik van bepaalde parameters overschrijven.1 dollar = ///////array_merge (standaard) ('label "= > in het meervoud,'labels" = > $etiket, een "= > waar,'show_ui" = > waar, van "steun" = > - ("titel", "bewerken"),'show_in_nav_menus "= > waar,'_builtin" = > valse), bepaalde parameters /USD - > post_type_args); ///////na de registratie - register_post_type ($- > dringt erop post_type_name, $);}, stap 3, toevoeging van een indeling, moeten we eerst kijken naar de naam van de parameters is leeg, de dollar,.Als het is, we doen niets.Als het dat niet is, we hebben drie variabelen, we het opslaan van informatie, taxonomy_name indeling: $, taxonomy_labels, taxonomy_args,., openbare functies add_taxonomy (. () = array, sprake van $$label = - ()) {als.Lege ($)) {//dat we moeten weten na de nieuwe indeling van de naam van de soort, dus het kan verbinden.Post_type_name dollar = dollar - > post_type_name; ///////indeling van de prestaties taxonomy_name dollar = strtolower (str_replace ("," _, $)); taxonomy_labels = $dollar taxonomy_args = etiketten; parameters; /* * /}} meer code, na een eerste onderzoek en dan doen we Een aantal variabelen, we gaan - na de registratie.Maar eerst, we controleren of de indeling van zijn bestaan.Taxonomy_exists ($taxonomy_name) {*) de indeling en de aanleg van een extra doel (kolom) {/* * /} andere indeling bestaat al.We zullen de bestaande methoden voor de indeling van de aanvullende object type (type) * /}, indien de indeling bestaat niet, we registreren.We gebruiken een, add_action, maar niet op de normale manier.Meestal, add_action tweede parameter is de naam van een functie, maar omdat elke keer als we het gebruik van verschillende parameters, we moeten de overdracht van een anonieme functie (noot: deze functie nodig, PHP 5.3 +) en gebruik, gebruik (), functioneren.Met gebruik van (), functionele, kunnen we door de onbekende variabele.Op dit moment moeten we door, taxonomy_name $, post_type_name, taxonomy_args indeling, registratie, ///////capitilize woorden het meervoud. = ucwords (str_replace ("_", ",, in het meervoud.)) = dollar heet.///////standaard label, met een bepaald etiket voor ze.Etiket = array_merge dollar (///////standaard - ("naam" = > _x ($, de indeling in naam),'singular_name "= > _x (indeling. Naam," en "bijzondere) search_items" = > __ ("gezocht".Het meervoud "), all_items dollar" = > __ ("alle".Het meervoud "), parent_item dollar" = > __ (van de ouders.De naam "), parent_item_colon dollar" = > __ (van de ouders.Dollar.: ")," edit_item "= > __ (" bewerken ".De naam "), update_item dollar" = > __ ("update".De naam "), add_new_item dollar" = > __ ("het toevoegen van nieuwe.De naam "), new_item_name dollar" = > __ (de "nieuwe".Dollar.De naam "), menu_name" = > __ ($),), taxonomy_labels dollar) //////////////etiket; standaard argument, en bepaalde parameters, dringt erop array_merge dekking (= ///////standaard - ('label "= > in het meervoud,'labels" = > $etiket, een "= > waar,'show_ui" = > waar,'show_in_nav_menus "= > waar,'_builtin" = > valse), taxonomy_args); ////////dollar toe te voegen na Indeling - add_action ("-", functie () (taxonomy_name dollar post_type_name, sprake) {register_taxonomy dollar (USD taxonomy_name, sprake post_type_name dollar);}); en wanneer de indeling is er niet, we alleen in ons document vormen.Net zoals vroeger, gebruiken we een anonieme functies en gebruik (,).Op dit moment moeten we alleen de overdracht van taxonomy_name, dollar voor dollar, post_type_name,., add_action ("-", functie () (taxonomy_name dollar post_type_name) {register_taxonomy_for_object_type (taxonomy_name dollar post_type_name);});,, stap 4 - kit, geregistreerde - doos, we moeten de naam van de post - type. Dus we zeker.Daarna moeten we de doos zelf een variabele element, we hebben de gewoonte - toegang tot het domein van de, dus kunnen we ze in het bewaren van de haak.We zullen niet met te veel details, omdat 泰哈特 heeft een zeer nuttige les herhaald gebruik van openbare functies - zaak is, add_meta_box ($de titel gebied = (() dollar = "normale" in de context van de dollar aan = "standaard") {als.Lege ($titel)) {///////de aard van de boodschap moeten we weten de naam nog eens $post_type_name = USD - > post_type_name; ///////- variabele box_id dollar = strtolower (str_replace ("," _, $titel)); en box_title = ucwords (str_replace ("_", "", getiteld)) box_context dollar. $= context; box_priority = $prioriteit; ///////custom_fields van de wereld op het gebied van $; custom_fields [titel] = $* *}} meer gebied; de code, als we die variabelen en de variabelen, registreren we een element add_action, doos.Net als vroeger, gebruiken we een onbekende functie.Op dit moment moeten we, box_id $, box_title, post_type_name, box_context, $, box_priority, gebied, add_action ("admin_init" functie () (box_id dollar, box_title dollar, post_type_name dollar, box_context dollar, box_priority (op het gebied van de dollar add_meta_box) {box_id dollar, box_title de dollar, de functie ($Post, $gegevens) {de $post; ///////tijdelijk wordt uitgevoerd op het gebied van een verificatie wp_nonce_field (plugin_basename (__file__), "custom_post_type") om alle gegevens; ///////custom_fields = $'args gegevens [] [0]; ///////van de waarde van de dollar sparen, = get_post_custom ($na de > id); ///////inspectie - en door het verkeer als (!Lege (dollar custom_fields)) {/* * /voor de lus door custom_fields dollar (USD custom_fields tot etikettering = > $) {% field_id_name = strtolower (str_replace ("," _, $gegevens [id '])). "_ ".Strtolower (str_replace ("," _, $etikettering); ECHO "< =" etikettering ".Field_id_name dollar. "> ".$.< /etiket > < input vormen voor de tekst "naam" custom_meta [".Field_id_name dollar. ""Identiteitskaart".Field_id_name dollar. "- waarde = ".De dollar field_id_name element [] [0] dollar. "/> ";}}}, post_type_name $, box_context, box_priority array (gebied);});,, stap 5 na het behoud van alle gegevens, het behoud van de metagegevens na.We fietsen door gebruik te maken van de, custom_fields dollar.Dit is ook een snelle dekking, zie 塔米哈特 les herhaald gebruik van openbare functies - kit, Save () {///////post - naam weer nodig post_type_name dollar = dollar - > post_type_name; add_action ("save_post" functie () het gebruik van ($post_type_name) {///////wordpress ontkennen blijven functioneren als definities ('doing_autosave ") & & doing_autosave) terug te keren; als (!Wp_verify_nonce ($_post ['custom_post_type], plugin_basename (__file__) rendement; de $post; als lid is ($_post) & & is ($na > id) & & get_post_type ($na > id) = = post_type_name dollar) {de custom_fields dollar /ring; door middel van een dollar per doos (custom_fields voor $titel = > ///////de) {op alle gebieden per cyclus ($gebied etiket dollar = > $) {% field_id_name = strtolower (str_replace ("," _ dollar ", titel))."_ ".Strtolower (str_replace ("," _, $etikettering)); update_post_meta ($na > id, field_id_name dollar'custom_meta _post [] [] field_id_name dollar);}}}});}, stap 6, optimalisering, kun je ons zien, strtolower (str_replace ("," _ "voor de string)), en, ucwords (str_replace (" _ ",",...), meerdere keren.Tot deze klasse, is de reden dat we niet herhalen, dus willen we niet, in dit deel, waar dat ook is.Dit is de reden waarom wij om een aanvullende methoden.Dus, we kunnen dit doen: ':: = zelfstandige, $($string); in plaats van, $= strtolower (str_replace ("," _, $titel)); de verfraaiing van statische functie (,, $string) {terug ucwords (str_replace ("_", ");}, - de statische functie ($string) {terug te strtolower (str_replace (", "_",...);}, een ander punt is, we hebben het in meervoud.We moeten nog een "" te creëren.Maar toen het woord "je" voorbij komt, wat gebeurt er?Dus, we hebben een aanvullende methoden voor het bepalen van een meervoud.Nu kunnen we gemakkelijk om dit te doen: het meervoud = zelf: de dollar: part - time ($string), en we het meervoud is vastgesteld, de diversificatie van de statische functie. ($string) {% vorig jaar = $akkoord [strlen ($)) - 1]; als laatste = = Y ($") {% snij = substr (touw, 0, 1); ///////Y en complexe = dollar verminderd."En "} {///////; anders is slechts een aanvullende reeks complexe = dollar."} naar $meervoud;}, voorbij is, zijn we nu klaar.Nu kan je met dit soort gemakkelijk na de registratie van een soort, categorie en per doos.Als je nog vragen, maar een opmerking, en dan kunnen we erover praten.Wil je de volgende keer zien.Ik wil ook een krediet voor Jeffrey.Als ik me met z 'n lessen van de inspiratie en de training.Bovendien wil ik een krediet voor de bouw van een 泰哈特, herbruikbare element doos training.Kijk naar hun werk.
Het type aanvullende
Next Page:Tip: laat je gewoonte de kolommen