Het gebruik van de classificatie van de knopen

, het gebruik van de classificatie van de knopen,,,,,,,,,, 1, 6 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, wordpress gewoonte indeling is magisch, laat je je artikel in de verschillende categorieën organisaties, alle inspanningen om het voor je te doen.Maar het kan ook een beetje beperkt.Bewerk je post toen je de indeling van zijn eigen metabox, ze niet als een vakje lijst (hiërarchische indeling) of als een TAG. (niet - hiërarchische indeling).Het is jouw keuze, als je ervoor wilt zorgen dat elke positie kan kiezen voor een probleem dat zich problemen kunnen voordoen.Natuurlijk, je kan koppelen, save_post, haak en het schrappen van een "extra" - clausule, maar dat is niet erg vriendelijk, en niet om een goede interface.Soms is het gewoon mooi, je moet op verschillende manieren de indeling.Dit artikel zal u vertellen hoe we dit gaan doen, en we praten over alle codes moeten worden toegevoegd aan de functions.php documenten, in je betreft.We hebben de nadruk gelegd op de knop, maar je kan het gebruik van een andere methode van de input, zoals een menu,,,, stap 1 geschrapt metabox standaard classificatie, de indeling metabox wordpress automatisch, dus mijn eerste baan was het schrappen van de productie, dus kunnen we onze eigen plek hebben.Ik denk dat we de naam van de indeling is "mytaxonomy" (als je wil veranderen metabox wordpress etiket of - categorieën, zou je in plaats van dit "soort" of "post_tag") en de verwijdering van metabox we gebruiken, remove_meta_box, moeten in de functie van de haak, admin_menu,.De drie parameters, remove_meta_box, aanvaarden, id, deze id: toekenning van metabox elementen bevatten.In het algemeen zal het niveau van de indeling van mytaxonomydiv, of tagsdiv mytaxonomy "niet - niveau, het type:.,, na het verschijnen van de metabox type (zoals de" na "of" pagina, enz.).Als je metabox die verschillende posities vormen, zou je moeten voor elke oproep remove_meta_box.,, de context: normaal, of aan de kant van geavanceerde,.,, add_action ("admin_menu", "myprefix_remove_meta_box"); de functionele myprefix_remove_meta_box () {remove_meta_box ('mytaxonomydiv "," na "," normaal ");}, salaristrap 2 toe te voegen aan uw eigen metabox, we zijn hier aan de toepasselijke naam, add_meta_boxes, met een functie die bij ons metabox haak.Deze functie zal noemen, add_meta_box, dit kost heel veel discussie, met inbegrip van:,, id: met het bovenstaande, geef het een unieke dingen, titel: in de titel, metabox.,, de naam van de functie, zal terugkomen: de door ons metabox ingewanden.,, na -, loc. Cit.Je moet de aard van de functie van elke post van respectievelijk de context: op. Cit.,.,.,, prioriteit: de prioriteit in de context van de doos in moet worden vermeld. De toevoeging van een nieuwe indeling,, ///////- doos add_action ("add_meta_boxes", "myprefix_add_meta_box"); de functionele myprefix_add_meta_box () {add_meta_box ("mytaxonomy_id", "mijn radio. De indeling, de'myprefix_mytaxonomy_metabox",'post ",'side" kern "); de functie van myprefix_mytaxonomy_metabox ($post)} {'" dit is mijn geheime metabox ";}, een stuk op te zetten, te schrappen van de standaard metabox, vervangen door je eigen, op dit moment alleen de boodschap:" dit is mijn indeling metabox ".De volgende stap is de wijziging van call - back - functie te geven wat we willen. En die knop, stap 3, en we hopen dat we de metabox uiterlijk en gedrag als standaard metaboxes mogelijk is.In de kern van het dossier wordpress, vind je een plek metabox intern gegenereerd, hier.We zullen de kern van de functie te imiteren, maar in een aantal veranderingen in onze terminologie, is aan te tonen hoe de, laten we door onze functie in de tijd.De eerste die een aantal variabelen.Je moet veranderen, de indeling, met uw naam, variabele indeling.U ook, dat ik de naam, de variabelen.We geven in de naam van het veld, mytaxonomy tax_input [].De naam van de standaard input in metabox.Door dit te doen, zou de indeling van de automatische verwerking van wordpress na de actualisering van de vaststelling van de indeling van de doelstellingen en voorwaarden. ///////indeling = "mytaxonomy dollar"; de fiscale = get_taxonomy dollar (USD); dit is de indeling van de doelstellingen ////////vormen. Tax_input [de naam "=".$indeling] "; ///////de indeling van alle bepalingen van de term = get_terms dollar (USD) (indeling,'hide_empty" = > 0); willen we dat de ambtstermijn van de id (verwachten we dat alleen een), postterms = get_the_terms dollar (USD na > id en De indeling als voor de dollar); = (postterms dollar?Array_pop ($postterms): valse); - de huidige = ($huidige?De dollar - > term_id:0); als je het nodig hebt in de categorie wordpress metabox kijkt, zie je een rekening toont de "normale".We moeten een kopie van 10 meest populaire term.We weer gebruik te maken, maar deze keer, get_terms, keuze van maximaal 10 bepalingen en bestellingen (de indeling van posten), $POP = get_terms ($indeling, de installatie ("order" = > "aantal", "orde" = > "landen", "aantal" = > 10. "Lagen" = > valse)); de volgende stap moeten we alle categorieën "en de" gemeenschappelijke "rekening (dit is de beste praktijken in het gebruik van de indeling in de etikettering, mogelijk).Als je het niet wil. En je kan eenvoudig verwijderen van dit punt, en het:;.- een rekening - > < - ul - id = < "?PHP ECHO $indeling;?> - het etiket "=" etikettering "> < li =" etikettering "> < href ="&#<?PHP ECHO $indeling;?> alle "tabindex = 3 > <?PHP ECHO $belasting - etikettering - > > all_items;?> < /> < /Lee > < li = "verborgen als er geen J 's" > < href = "# <?PHP ECHO $indeling;?> muziek tabindex = 3 > <?PHP _e (is);?> < /> < /Lee > < /UL > de volgende stap moeten we bepalen wanneer blijkt dat we in alle categorieën rekening:, <.- blijkt dat de indeling van de term > < div = "<?PHP ECHO $indeling;?> alle "=" rekening panel "> < - ul - id = <"?PHP ECHO $indeling;?> de lijst "=" - lijst: <?PHP ECHO $indeling?> categorychecklist vorm geen duidelijke "> <?PHP voor ($clausule) {% id = $indeling. "- > term_id; ECHO" < li id = "$" > < etikettering van ='selectit ">" ECHO "< de aard van de gegevens, de radio - id = id =" naam "{naam} dollar". De controles (op dit moment dollar, op de lange termijn > term_id, valse). "Een waarde = $> term_id /> - > naam < BR />"; ECHO "< /etiket > < /Lee >";}?> < /UL > < /div >, dit is echt gewoon een lijst van de elementen, en de lijst van radio - elementen is een optie.Natuurlijk kan je gewoon met een menu of een van de andere dingen waar je van houdt in de plaats van deze lijst, en nu doen we het ook "de meest gebruikte etikettering;".- de indeling van een populaire Terminologie > < div = "<?PHP ECHO $indeling;?> POP "=" rekening panel "stijl =": geen tekenen van; "> < - ul - id = <"?PHP ECHO $indeling;?> de lijst "=" categorychecklist populaire vorm geen duidelijke "> <?PHP voor ($populaire) {% id = "POP" $indeling. "- > term_id; ECHO" < li id = "$" > < etikettering van ='selectit ">" ECHO "; lt; input - radio - id =" - ID 's controleren ". (de dollar, op de lange termijn > term_id, valse)." een waarde = $> term_id /> - > naam < BR /> ";' s" < /etiket > < /Lee > ";}?> < /UL > < /div >,, vier stappen we weer functioneren, pakte het op, onze volledige functie, een functie myprefix_mytaxonomy_metabox ///////call - back - metabox ($post) worden ingedeeld en terminologie classificatie (//////////////= "mytaxonomy" dollar is geregeld; de indeling van de doelstellingen belasting = get_taxonomy en de voorwaarden van de dollar (USD); - bepalingen get_terms ($) = indeling ('hide_empty "= > 0); in de vorm van tax_input. =" [/Naam.$indeling] "; ///////toegang tot de huidige populaire term POP = get_terms dollar (indeling, de installatie (" order "= >" aantal "," orde "= >" landen "," aantal "= > 10," lagen "= > valse) postterms dollar); = get_the_terms ($na > id, $indeling); - de huidige = (postterms dollar?Array_pop ($postterms): valse); - de huidige = ($huidige?De dollar - > term_id:0);?> < div = "indeling - <?PHP ECHO $indeling;?> "=" categorydiv "> <.- een rekening - > < - ul - id = < "?PHP ECHO $indeling;?> - het etiket "=" etikettering "> < li =" etikettering "> < href ="&#<?PHP ECHO $indeling;?> alle "tabindex = 3 > <?PHP ECHO $belasting - etikettering - > > all_items;?> < /> < /Lee > < li = "verborgen als er geen J 's" > < href = "# <?PHP ECHO $indeling;?> muziek tabindex = 3 > <?PHP _e (is);?> < /> < /Lee > < /UL > <.- blijkt dat de indeling van de term > < div = "<?PHP ECHO $indeling;?> alle "=" rekening panel "> < - ul - id = <"?PHP ECHO $indeling;?> de lijst "=" - lijst: <?PHP ECHO $indeling?> categorychecklist vorm geen duidelijke "> <?PHP voor ($clausule) {% id = $indeling. "- > term_id; ECHO" < li id = "$" > < etikettering van ='selectit ">" ECHO "< de aard van de gegevens, de radio - id = id =" naam "{naam} dollar". De controles (op dit moment dollar, op de lange termijn > term_id, valse). "Een waarde = $> term_id /> - > naam < BR />"; ECHO "< /etiket > < /Lee >";}?> < /UL > < /div > <.- de indeling van een populaire Terminologie > < div = "<?PHP ECHO $indeling;?> POP "=" rekening panel "stijl =": geen tekenen van; "> < - ul - id = <"?PHP ECHO $indeling;?> de lijst "=" categorychecklist populaire vorm geen duidelijke "> <?PHP voor ($populaire) {% id = "POP" $indeling. "- > term_id; ECHO" < li id = "$" > < etikettering van ='selectit ">" ECHO "; lt; input - radio - id =" - ID 's controleren ". (de dollar, op de lange termijn > term_id, valse)." een waarde = $> term_id /> - > naam < BR /> ";' s" < /etiket > < /Lee > ";}?> < /UL > < /div > < /div > <?Stap 5}, en een beetje javascript... En dat ik erg voorzichtig, mijn naam in de id en radio call - back - knop.Als je probeert boven alles, nu, en je zal vinden, zal de vernieuwing van de automatische verwerking van je.Trouwens, de automatische verwerking van wordpress javascript rekening navigatie.Er is een kleine fout."Van alle categorieën" knop met "niet - gebruikte".Als je besluit om te stoppen met het gebruik van de meest gebruikte "op het etiket, dan kan je dit niet delen.Anders, maar we moeten dit probleem op te lossen, de toevoeging van javascript beetje, we moeten een punt toe te voegen aan de pagina 's script, dus in onze auditie, we gebruiken een haak in de brand, is toegevoegd. De beheerder.Ja, admin_enqueue_scripts, haak.Want in onze auditie, zullen we onze functie toe te voegen aan de haak, alleen als het nodig is het laden.Net bij de lijn in onze auditie van de top, add_action ('admin_enqueue_scripts ",'myprefix_radiotax_javascript"); als javascript worden geladen in het beheer van de pagina 's, dit zal leiden tot een van onze taken.Deze functie niet meer dan geregistreerd en onze javascript, we willen het laden in een functie:, myprefix_radiotax_javascript () {wp_register_script ("radiotax", get_template_directory_uri (")./JS /radiotax. Js, - ('jquery "), nietig, waar we echt); ///////wordpress aangewezen hier vertellen het script moet belasting in een wp_enqueue_script (" radiotax ");}, nu hebben we echt nodig om je javascript, thema 's, een dossier is, een MAP.We noemen het, radiotax. Js, hier is de code in:: (document). Klaar voor de (functie ($) {VAR indeling = "mytaxonomy"; "# dollar (" + indeling + "lijst: radio 's, de indeling van&#+ + POP voor plaatsing op de lijst: levende (" klik "). Functie () {VAR t = $(dit), C (" inspectie ": het nummer van), T. Val ($("); de indeling van&#+ + "lijst: radio' s,&#+ + tabel: radio - indeling)." (",'checked valse $(");&#- "+ indeling +" - "+ ID +",&#POP "+ + + de indeling" - "identiteitskaart), rekwisieten (" inspectie ", C);});}); deze lijnen, dan?Als je het onderzoek van een knop, het niet kiezen voor iedereen (met inbegrip van de etikettering), controleer dan de knop, overeenkomend met het woord. En, conclusies, en met wat we hebben.Je met de rest van ons.Er ruimte is voor verbetering.De toevoeging van nieuwe bepalingen?Ik negeerde, van onze metabox doen, omdat het echt lastig.Dit heeft betrekking op meer javascript, maar ook een beetje op de server van de actie.,,, vraagt om een update: Roberto, er is een link naar de code in github.Dit is de les van de code in de verwezenlijking van een klasse, dus moet je maar op de Top van de statistische variabelen, veranderen.



Previous:
Next Page: