skabe et produkt med angivelse af med uendelig kategorier ved hjælp af sædvane efter typer

, skabe et produkt med angivelse af med uendelig kategorier ved hjælp af sædvane efter typer,,,,, 4,,,,,,,,, 11,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, i dagens lektion, vi skal udnytte den magt af sædvane efter type, taxonomies og custom løkker, at skabe en dynamisk varer opført på listen.der er en masse dækning, så lad os komme lige til sagen!,,,, trin 1, skaber en produkter sædvane efter type, først skal vi skabe vores produkter sædvane efter type.åbn din, functions.php, og der tilføjes følgende linje til toppen af sagen efter indledningen på mærket:, require_once ('functions /produkter. på "), hvis du ikke har den allerede, skabe en fortegnelse, funktioner inden for temaet mappe, og filen, products.php i det register.In our ,products.php,, we'll register our custom post type:, add_action( 'init', 'product_register' ); function product_register() { $labels = array( 'name' => _x('Products', 'post type general name'), 'singular_name' => _x('Product', 'post type singular name'), 'add_new' => _x('Add New', 'Product'), 'add_new_item' => __('Add New Product'), 'edit_item' => __('Edit Product'), 'new_item' => __('New Product'), 'all_items' => __('All Products'), 'view_item' => __('View Products'), 'search_items' => __('Search Products'), 'not_found' => __('No products found'), 'not_found_in_trash' => __('No products found in Trash'), 'parent_item_colon' => ''"menu_name = >" produkter "); $args = system (" mærkning "= > $etiketter," offentlig "= > sandt, publicly_queryable = > sandt, show_ui = > sandt, show_in_menu = >," query_var = > sandt, skrive "= > sandt, capability_type = >" post "," hierarkisk = > falske, støtter "= > system (afsnit, redaktør, virksomhed beskrevet, side egenskaber")); register_post_type (i det følgende benævnt »de, $args); den første linje er en krog, som vil kalde vores funktion products_register når wp administration er igangsat.inden for vores funktion, vi har oprettet to systemer.for det første er de etiketter, der vil blive anvendt i hele vores wordpress instrumentbræt.inden for vores funktion, skaber vi en liste over de argumenter, hvoraf de fleste er selvforklarende.vores sidste argument "støtter" mulighed for at angive, hvad vi ønsker at vise på post - skriver /edit side.bemærker, at vi har tilføjet støtte til side for at præcisere for vores produkter, inden for en kategori (billede af panel).vi passerer funktion register_post_type vores skik efter type navn og argumenter.lad os tilføje en skik, inden opbevarer prisen for vores produkter. add_action ("admin_init", "price_meta"); funktion price_meta() {add_meta_box ("pris", "pris", "pris", "produkter", "normale", "lav");} funktion price() {globale dollars. post - og $skik = get_post_custom ($post - > id); $pris = $skik ["pris"] [0]?> < etiket > pris: < /etiketten > < input id = "pris" navn = "pris" type = "tekst" værdi = "<?php echo $pris?> "/> <?php} add_action ('save_post "," save_meta); funktion save_meta() (global $post; update_post_meta ($post - > id, pris, $_post ["pris"]);}?> igen når wp administration er igangsat, vores funktion price_meta kaldes, som vil vise vores skik område.næste, skaber vi en funktion til priser, som vil skabe den form inden for vores sædvane efter type.vi har også taget den aktuelle værdi af get_post_custom, så vi kan vise det, når vi skal udarbejde en post, hvis værdi er blevet fastsat.vores sidste funktion - værdi, som vores skik område ved hjælp af update_post_meta().vi passerer den funktion, vores post er id, navnet på det område, der ajourføres, og den værdi, vi oplagrer.,, trin 2, at skabe en varekategori taksonomi, vi vil være i stand til at organisere vores produkter i kategorier, så lad os skabe en skik taksonomi kaldet produktkategorier, så vi kan gøre det. $etiketter = system ("navn" = > _x ("kategorier", "taksonomi almindelige navn"), singular_name = > _x (produktkategori, taksonomi enestående navn "), search_items = > __ (eftersøgnings - kategorier), all_items » = > __ (" alle produktkategorier "), parent_item = > __ (" forælder kategori "), parent_item_colon = > __ (" forælder kategori: "), edit_item = > __ (" edit produktkategori "),"update_item = > __ (" ajourføring produktkategori "), add_new_item = > __ (" tilføje produktkategori "), new_item_name = > __ (" nye produktkategori "), menu_name = > __ (produktkategorier«)); register_taxonomy ('product_categories, system (i det følgende benævnt »de) system (hierarkisk = > sandt," mærkning "= > $etiketter, query_var = > sandt, show_ui = > sande), igen vi definerer vores mærker.vi kalder den funktion, register_taxonomy.vi fortæller den funktion, navnet på vores taksonomi, som er product_categories (note mangel på pladser og blokbogstaver), efter type (r) for at inddrage taksonomi og give det en håndfuld argumenter.det er vigtigt, at vi sætter hierarkisk til rigtigt at støtte indlejrede taxonomies eller i vores tilfælde de produktkategorier,.,, trin 3, der beskæftiger sig med billeder, vores produkter vil gøre brug af taget billeder, så vi skal sørge for, at vores tema, støtter det.tjek din tema er functions.php og se, om den støtter allerede efter thumbnails, hvis ikke denne linje til toppen af sagen lige under, hvor vi krævede vores sædvane efter type. hvis (function_exists ('add_theme_support')) (add_theme_support ("post - thumbnails)), vil vi gerne tildele hver af vores produkt kategorier, et billede.nu er der ingen indbygget måde at gøre det på, så vi bliver nødt til at installere det fantastiske taksonomi billeder, stik af med michael områder.når vi har stik af installeret og aktiveret vi navigere for indstillinger side og fortælle de stik af at tilføje image, støtte til vores produkt kategorier taksonomi.,, nu vil vi også støtte til dynamisk billede nedskæring for vores produktkategori og produkt billeder ved hjælp af timthumb, en nedskæring på image manuskript.timbhumb er en glæde at arbejde sammen med og let at gennemføre i wordpress temaer.vi går ind i kød, for at bruge den i vores tema filer hurtigt, men nu er vi bare for at få det sat op.lad os hente timthumb og manuskriptet med vores tema filer.vi har også brug for at skabe en cache fortegnelse i vores tema er fortegnelse og give det 777 tilladelser.,, løntrin 4 oversigt over vores øverste produktkategorier, en liste over vores øverste produktkategorier, vil vi skabe en skik side model og kalder det produkter, <?php /* * model navn: produkter * /get_header();?>, nu vil vi skabe et spørgsmål til vores øverste kategorier. $args = system ('hide_empty = > 0, nyt "= > 0,'taxonomy = > product_categories), her har vi oprettet tre argumenter for at gå til get_categories funktion.hvert argument er af afgørende betydning at genfinde den øverste produktkategorier, hide_empty = > 0, giver os mulighed for at vise kategorier, der ikke indeholder nogen stillinger, forældre = > 0 ved at definere en forælder, vi har begrænset den taxonomies tilbage til kun taxonomies, der har en forælder med et id på 0.ved at fastsætte de stiftende id til 0, det betyder, at vi vil vende tilbage taxonomies på højt niveau, da de ikke har en forælder, taksonomi = > "product_categories her vi er at definere taksonomi til søgning af misligholdelse, dette er sat til" kategori ", så vi er nødt til at fortælle wordpress, vi ønsker at sætte spørgsmålstegn ved vores skik taksonomi i stedet. næste, vi vedtager de argumenter, som vender tilbage til get_categories en række modsvares taxonomies.vi starter en hver sløjfe og sætter et par variabler. den første er den produktkategori, image, som vi har fået med get_option og passerer det, navnet på den mulighed, vi vil have fat i.i dette tilfælde er det billede, der er fastsat af taksonomi billeder, stik af.den næste variabel er url af taksonomi er arkiv.vi har brugt get_term_link funktion for at opnå dette ved at vedtage det taksonomi kugle og taksonomi navn.nu begynder vi outputting matchede produktkategorier. $kategorier = get_categories ($args); for hvert ($kategorier som $kategori) (echo '< div klasse = "produkt kat" >. $thumb_url = get_option ('taxonomy_image_plugin. $product_cat_url = get_term_link ($kategori - > kugle, product_categories) echo' < en href = ". $product_cat_url." "> < img src =". get_template_directory_uri(). /timthumb.php?src = ". wp_get_attachment_url ($thumb_url [$kategori - > term_taxonomy_id]). & h = 200 & w = 200 /> < /a > « echo '< en klasse =" kat "href =".$product_cat_url. "" > ".$kategori - > navn. < /a > « echo '< /div > <!- det endelige produkt kat. - > '}, lad os se på, hvordan thumbnails er genereret ved hjælp af timthumb.vi er nødt til at sætte kilde til stien af vores kopi af manuskriptet i vores tema er fortegnelse.så vi er nødt til at give det kilden til det billede, og det er bredde og højde.simpelt, ikke?jeg har også oprettet en hvis erklæring for at være sikker på, at vi har en anden i stedet, hvis en kategori har ikke et billede, der er forbundet med det næste, vi bør tilføje nogle grundlæggende design for at gøre tingene tager form.vi har bare flød den divs og absolut placeret titler i divs.,. produkt. produkt kat (grænse: 10px fast&#dfdfdf; flyde: venstre margen: 0 40px 20px 0; udkast: 1px fast&#bfbfbf. position: relativ;}. produkt img,. produkt kat img (max bredde: 100%}. produkt titel. kat afsnit {baggrund: rgba (0,0,0,. 8); farve:&#fff; display: block. position: absolut; nederst: 0; tilbage: 0; polstring: 10px 0; tekst tilpasse: center; bredde: 100%}, ser du, vi har tilføjet former for produkter, lister, da vi vil vise dem på samme måde som de produktkategorier, lister.,, løntrin 5 over underkategorier og produkter, skabe filen taxonomy-products_categories.php.hvis du tager et kig på modellen hierarki vil du se, at den model, vi har brug for at skabe en taksonomi arkiv.dette giver os mulighed for at skabe forskellige arkiver for skik taksonomi. den første ting, vi gør i denne sag er afprøvet vores produkt kategorier igen. denne forespørgsel tjener to formål.vi skal bruge det til produktionen, det næste niveau for produktkategorier, hvis en sådan, og afprøvning af, om vi er på laveste dybde kategori, og hvis det er tilfældet, vil vi blive nødt til at produktionen denne kategori produkter.lad os gøre det. $kugle = get_query_var ('"); $sigt = get_term_by (" kugle "$" kugle "," product_categories. $term_id = $term - > term_id. $args = system ('hide_empty = > 0, nyt "= > og $term_id,'taxonomy = > product_categories) $kategorier = get_categories ($args), vi har taget den nuværende taksonomi er en af get_query_var().næste gang vi hente alle sigt data med get_term_by() over det område, vi giver, er værdien af området og taksonomi navn.med, at vi kan få den nuværende taksonomi er identificeret ved hjælp af get_term_by som vi skal bruge til vores argumenter blandt de stiftende parameter.vi har givet vores argumenter til get_categories funktion og defineret en variabel for tilbage system kaldet kategorier. lad os hurtigt se på den struktur, vi følger nu: $kategorier = get_categories ($args); hvis (!$kategorier) (//, hvis der ikke er nogen underkategorier udgangsstrøm produktkategori produkter) andet (//, hvis der er underkategorier output i stedet}, nu går vi ned den vej, hvis systemet er tomme.hvis det er, så er vi på den laveste kategori, niveau og bør produkter produktion den nuværende kategori produkter.lad os sætte vores argumenter: hvis (!$kategorier) (//- produktkategori navn echo "< h1 klasse ='entry-title" > ". $term - > navn." < /h1 > "$args = system ('posts_per_page = > 2 //huske stillinger pr. side bør være mindre eller mere, som det er fastsat i almindelige indstillinger'paged = > $bippet,'meta_key = > pris,'orderby = > meta_value_num,'order = > asc,'tax_query = > system (system ('taxonomy = > product_categories,'field = >" kugle ",'terms = > $kugle)), lad os se på de argumenter, som vi har sat op.de to første argumenter, at drikke.de næste tre argumenter klare for produkter.vi beordrer dem af meta - vigtigste pris - og også om deres pris, det laveste til det højeste.hvis du vil for de produkter, således at de skaber et produkt, for når der anvendes følgende argument: "i stedet orderby = > menu_order, sidste række argumenter definerer taksonomi, vi skal være, og hvilke specifikke produktkategori, vi skal være.vi definerer den produktkategori, som passerer "," kugle af den nuværende produktkategori. næste vi vedtager disse argumenter til wp_query klasse, der giver de matchede positioner.alt vi skal gøre er så loop gennem tilbage vifte af stillinger og produktion af vores produkter, <?php $products_query = nye wp_query ($args); hvis (have_posts()): mens ($products_query - > have_posts()): $products_query - > the_post(). $post_thumbnail_id = get_post_thumbnail_id(). $post_thumbnail_url = wp_get_attachment_url ($post_thumbnail_id)?> < div klasse = "produkt" > < en klasse = "produkt" href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> <?folkesundhedsprogrammet aspektet the_title();?> < /a > < en href = "<?folkesundhedsprogrammet aspektet the_permalink();?> "> < img src =" <?php echo get_template_directory_uri();?> /timthumb.php?src = <?folkesundhedsprogrammet aspektet om ($post_thumbnail_url) (echo $post_thumbnail_url;} andre (echo get_template_directory_uri(). "/images /tilbage. men heller ikke dér er menneskene sikre")?> & h = 200 & w = 200 "alat =" <?folkesundhedsprogrammet aspektet the_title();?> "/> < /a > < /div > vi har hentet post virksomhed beskrevet url, til brug med timthumb af generhverve sin id og derefter ved hjælp af wp_get_attachment_url og passerer det. som en reserve, hvis en kategori, ikke indeholder nogen produkter men lad os tilføje følgende:, <?folkesundhedsprogrammet aspektet endwhile; andre:?> < p > desværre ingen produkter blev fundet. < /p > <?folkesundhedsprogrammet aspektet endif;?> <?folkesundhedsprogrammet aspektet wp_reset_query();?> endelig lægger vi vores sidenummerering forbindelser:, < div klasse = "sidenummerering" > <?folkesundhedsprogrammet aspektet next_posts_link ('« flere produkter, $products_query - > max_num_pages)?> <?folkesundhedsprogrammet aspektet previous_posts_link ('previous produkter »)?> < /div >, nu går vi ned i den anden vej, hvis kategori har indeholder underkategorier:, <?php andet (//udgangsstrøm kategori navn echo '< h1 klasse = "titel" >. $term - > navn. < /h1 >'; for hvert ($kategorier som $kategori) (echo '< div klasse = "produkt kat" >. $thumb_url = get_option ('taxonomy_image_plugin. $thumb_url = wp_get_attachment_url ($thumb_url [$kategori - > term_taxonomy_id]); $product_cat_url = get_term_link ($kategori - > kugle, product_categories)?> < en href = "<?php echo $product_cat_url;?> "> < img src =" <?php echo get_template_directory_uri();?> /timthumb.php?src = <?folkesundhedsprogrammet aspektet om ($thumb_url) (echo $thumb_url;} andre (echo get_template_directory_uri(). "/images /tilbage. men heller ikke dér er menneskene sikre")?> & h = 200 & w = 200 "alat =" <?folkesundhedsprogrammet aspektet the_title();?> "/> < /a > < en klasse =" kat "href =" <?php echo $product_cat_url;?> "> <?php echo $kategori - > navn?> < /a > < /div > <!- det endelige produkt kat. - > <?folkesundhedsprogrammet)?> vi har allerede dækket, hvad der sker i denne kodeks i trin fire, så lad os gå videre til den sidste del af den tutor.,, trin 6 visning af et enkelt produkt, hvis du har arbejdet med sædvane efter former før, du ved, hvad der kommer bagefter.vi er ved at skabe en single-products.php.ligesom vores taxonomy-product_categories.php vi brugte vores produkt kategorier taksonomi, kan vi skabe en skik enkelt post model enestående for vores sædvane efter type.i den sag, vi sætter:, <?folkesundhedsprogrammet aspektet get_header();?> <?folkesundhedsprogrammet (have_posts()), mens (have_posts()): the_post();?> <?php //få post virksomhed beskrevet url $post_thumbnail_id = get_post_thumbnail_id(). $post_thumbnail_url = wp_get_attachment_url ($post_thumbnail_id)?> < img id = "produkt img" src = "<?php echo get_template_directory_uri();?> /timthumb.php?src = <?folkesundhedsprogrammet aspektet om.tom ($post_thumbnail_url)) (echo $post_thumbnail_url;} andre (echo get_template_directory_uri(). "/images /tilbage. men heller ikke dér er menneskene sikre")?> & h = 300 & w = 300 "alat =" <?folkesundhedsprogrammet aspektet the_title();?> "/> < div id =" produkt desc "> < h1 klasse =" titel "> <?folkesundhedsprogrammet aspektet the_title();?> < /h1 > <?folkesundhedsprogrammet aspektet the_content();?> <?folkesundhedsprogrammet (get_post_meta ($post - > id, pris, sande)):?> pris: <?php echo get_post_meta ($post - > id, pris, sand).> <?folkesundhedsprogrammet aspektet endif;?> < div > <?folkesundhedsprogrammet aspektet endwhile;?> <?folkesundhedsprogrammet aspektet get_footer();?> de bør være bekendt med de fleste af skabelonen tags, der anvendes her, men lad os se på anvendelsen af get_post_meta, der får vores pris skik område, vi satte os i trin 1.vi har oprettet en hvis erklæring for at kontrollere, om en pris er blevet fastsat, hvis man har vi output - prisen.vi gør dette ved at vedtage den funktion, den post - id, meta - nøgle, vi vil have fat i, og om vi ønsker et fælles resultat.vi har, så vi satte det til sandt. igen. lad os tilføje nogle grundlæggende former for opstilling af vores produkter:,&#prouct img {flyde: venstre; bredde: 100%}&#produkt desc {flyde: ret; bredde: 50%}, færdige, vi har dækket en del her. men forhåbentlig nu du har lært nogle nye teknikker og opnået en forståelse af strømmen af sædvane efter type, taxonomies og custom forespørgsler.nogen spørgsmål eller ideer til forbedringer?lad os diskutere dem i bemærkningerne.

Order Panel
Taxonomy Images Plugin Settings Page



Previous:
Next Page: