Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Interesante
  • Presioni i gjakut në kategoritë e meshkujve php id cat. Kategoritë PHP (Pema e kategorisë)

Presioni i gjakut në kategoritë e meshkujve php id cat. Kategoritë PHP (Pema e kategorisë)

Përshëndetje për të gjithë lexuesit e blogut WordPress Brenda ne vitin 2011, urime festat e ardhshme dhe te ardhshme, ju uroj shume shendet, lumturi dhe gezime per 360 ditet e ardhshme. Siç premtova në artikullin tim për planet për vitin e ardhshëm 2011, po punoj për të përmirësuar pak të gjitha blogjet e mia kryesore - duke përditësuar sistemet, duke instaluar versionet më të fundit të shtojcave dhe duke u zhytur në shabllone për hir të optimizimit dhe rregullimeve të gabimeve. Puna ishte jashtëzakonisht e vështirë, madje do të thoja shumë e mundimshme - gjeni një pasaktësi, vendosni ta korrigjoni dhe para jush keni 5 projekte të veçanta, për secilën prej të cilave duhet të bëni korrigjime. Epo, meqenëse tashmë kam planifikuar t'i bëj të gjitha këto, nuk ka kthim prapa, në të njëjtën kohë po fitoj përvojë shtesë në proces dhe tashmë kam gjetur rreth 5-6 tema për postimet e reja në blog :) Sot do të flasim për kategoritë dhe funksionet për shfaqjen e tyre.

Në një nga artikujt e mëparshëm të blogut, unë publikova një hak që ndihmon. Kjo zgjidhje është përdorur për funksionin e shfaqjes së një liste kategorish në shiritin anësor duke përdorur funksionin wp_list_categories. Prodhimi do të ishte diçka si kjo:

Siguria

Nëse atributi i titullit ka të paktën njëfarë rëndësie për SEO, atëherë do të ishte shumë më e dobishme të vendosni thjesht emrin e kategorisë atje, dhe jo gjithë këtë tekst të panevojshëm. Në fakt, lidhja e mësipërme me hakimin ndihmoi në zgjidhjen e këtij problemi. Por këtu është problemi, e gjithë kjo ishte e vërtetë (funksionuar) për , gjë që bëri të mundur përpunimin paraprak të listës që rezulton pa e shfaqur atë menjëherë. Por çfarë ndodh me funksionet e tjera për shfaqjen e kategorive? - kjo është pyetja.

Për shembull, sot zbulova krejt rastësisht se një grup tekstesh të panevojshme është shkruar në atributin e titullit të një lidhjeje kur shfaq një listë kategorish për një postim specifik.

I gjithë problemi ishte se përdoret këtu funksioni i kategorisë, për të cilin, për fat të keq, nuk mund të vendosni një parametër në mënyrë që rezultati i thirrjes së tij të mos shfaqet menjëherë. Por WordPress ka një funksion tjetër, get_the_category, i cili kthen një grup objektesh kategorish për një postim specifik.

Funksioni get_the_category

Sintaksa e funksionit get_the_category është mjaft e thjeshtë:

emri i maces; ?>

Programuesit e dinë se parametri zero i një grupi nxjerr elementin e parë, dhe kjo në fakt shpjegon se si funksionon ky kod.

ID); var_dump ($kategoritë); ?>

ID); var_dump ($kategoritë); ?>

Për ta bërë këtë, duhet të kaloni id-në e postimit si parametër në funksion, gjë që ndodh në kod.

Nga rruga, unë e përdor këtë funksion në disa sajte për të shfaqur emrin e kategorisë së postimeve, por pa një lidhje aktive - është thjesht tekst shtesë i dobishëm në faqe. Në këtë rast, mund të përdorni kodin:

emri i maceve. ""; ) ?>

emri i maceve. ""; ) ?>

Epo, dhe më në fund, pas një mendimi të vogël, ne dolëm me një hak për të shfaqur një listë kategorish për një postim pa përdorur funksionin the_category, të cilin e zëvendësojmë me sukses me get_the_category. Nëse dëshironi të shtoni kodin direkt në vendin në shabllon ku shfaqen kategoritë, për shembull, skedari archive.php, atëherë shkruani diçka si:

Në parim, mund të vendosni kodin për shfaqjen e kategorive në një skedar funksionesh, dhe më pas në skedarët e shabllonit të ndryshoni the_category në një funksion të ri, për shembull, i quajtur my_thecat(). Sigurisht, mos harroni të shtoni kodin e duhur në skedarin functions.php përpara se të zëvendësoni:

funksioni my_thecat() ( global $post ; foreach ((get_the_category($post -> ID ) ) si $category ) (echo " cat_ID ) . "" title="" . $category -> cat_name . "">" . $ kategori -> emri i maceve. ";" ;))

funksioni my_thecat() ( global $post; foreach ((get_the_category ($post->ID)) si $category) (echo "cat_ID)."" title="".$category->cat_name."">".$ kategori->emri_mace."; ";) )

E testova, gjithçka funksionon. Mbetet vetëm një pyetje - sa e dobishme dhe jashtëzakonisht e nevojshme është e gjithë kjo? Nëse keni një blog me një dizajn të qëndrueshëm që dëshironi ta bëni më të mirën, atëherë mund të merrni disa minuta dhe të bëni ndryshimet e duhura. Nëse keni shumë blogje të tillë, mendoj se manipulimi i titullit nuk do të sjellë shumë përfitime të SEO për sa i përket tij, është më e lehtë të blini lidhje në Rotapost për të gjitha këto projekte - meqë ra fjala, eksperimenti për të rritur TIC në sistemi ka përfunduar me sukses dhe pozitivisht, së shpejti do të ketë një raport për këtë.

Shfaqja e kategorive të postimeve me porosi

Komentet sugjerojnë që shembujt e mësipërm nuk funksionojnë për llojet e postimeve me porosi (përdorues). Unë nuk e kam hasur këtë problem, kështu që mund t'ju këshilloj vetëm të kërkoni zgjidhjen në google në blogjet në gjuhën angleze duke përdorur fjalën kyçe wordpress lloji i postimit të personalizuar të shfaqjes së kategorisë ose të përdorni sugjerimin nga përdoruesi Stinker (nga komentet). Aty ku shfaqen kategoritë, thjesht duhet të ngjitni kodin:

Ku categoria_video është taksonomia e postimit të përdoruesit (aka custom). Dhe tani më në detaje nga ku dhe çfarë. Për shembull kemi:

// Lloji i regjistrimit Video if ( ! function_exists ( "video_cp" ) ) (funksioni video_cp() ( $labels = array ( "name" => _x( "Video" , "Post Type Emri General" , "video" ) , "singular_name" => _x ( "Video" , "Post Lloji i njëjës" , "video" ) , "menu_name" => __( "Video" , "video" ) , "parent_item_colon" => __( "Prindi:" , "video" ) , "të gjithë_artikujt" => __( "Të gjitha videot", "video" ) , "view_item" => __( "Shiko" , "video" ) , "add_new_item" => __( "Shto video të re", "video" ) , "add_new" => __( "Shto video" , "video") , "edit_item" => __( "Modifiko videon", "video" ) , "update_item" => __( "Përditëso video" , "video" ) , "search_items" => __( "Gjeni video" , "video" ) , "not_found" => __( "Nuk u gjet " , "video" ) , "not_found_in_trash" => __( "Nuk u gjet në karrocë", "video" ) , ); $args = grup ( "labels" => $labels , "supports" => grup ( "titulli" , "redaktori" , "ekstrakt" , ), "taksonomitë" => grupi ("categoria_video") , // kategoria që do të krijojmë më poshtë (aka taksonomia)"public" => true, "menu_position" => 5, "menu_icon" => "dashicons-id-alt" , ); register_post_type( "video" , $args ); ) add_action( "init", "video_cp", 0); // inicializoj) nëse (! function_exists ("categoria_video")) ( // Kategoritë për vende të lira pune funksioni categoria_video() ( $labels = grup ( "emri" => _x( "Kategoritë e videove", "Emri i Përgjithshëm i Taksonomisë" , "categoria_video" ) , "singular_name" => _x( "Kategoria video", "Taxonomy Singular Name" , "categoria_video" ) , "menu_name" => __( "Kategoritë" , "categoria_video" ) , "all_items" => __( "Kategoritë" , "categoria_video" ) , "prind" =>__it ( "Video e kategorisë së prindërve", "categoria_video" ) , "parent_item_colon" => __( "Video e kategorisë prindërore:", "categoria_video" ) , "new_item_name" => __( "Kategoria e re", "categoria_video" ) , "add_new_item" => __( "Shto kategori të re", "categoria_video" ) , "edit_item" => __( "Redakto kategorinë", "categoria_video" ) , "update_item" => __( "Përditëso kategorinë", "categoria_video" ) , "search_items" => __( "Gjeni" , "categoria_video" ) , "add_or_remove_items" => __( "Shto ose hiq kategorinë", "categoria_video" ) , "choose_from_most_used" => __( "Kërko mes të njohurave", "categoria_video" ) , "not_found" => __( "Nuk u gjet" , "categoria_video") , ); $args = grup ("labels" => $labels, "hierarchical" => true, "public" => true, ); register_taxonomy( "categoria_video", array ("video"), $args); ) add_action( "init" , "categoria_video" , 0 ); // inicializoj }

// Lloji i postimit Video nëse (! funksion_exists("video_cp")) (funksioni video_cp() ( $labels = array("name" => _x("Video", "Lloji i postimit Emri i Përgjithshëm", "video"), " singular_name" => _x("Video", "Lloji i postimit Emri singular", "video"), "menu_name" => __("Video", "video"), "parent_item_colon" => __("Prindi:", "video"), "all_item" => __("Të gjitha videot", "video"), "view_item" => __("Shiko", "video"), "add_new_item" => __("Shto video të re" , "video"), "add_new" => __("Shto video", "video"), "edit_item" => __("Modifiko video", "video"), "update_item" => __("Përditëso videon ", "video"), "search_items" => __("Gjeni video", "video"), "not_found" => __("Nuk u gjet", "video"), "not_found_in_trash" => __("Nuk u gjet" gjendet në karrocë", "video"),); $args = grup ("etiketa" => $labels, "supports" => grup ("titull", "redaktor", "ekstrakt",), "taksonomi" = > array("categoria_video"), // kategoria që do të krijojmë më poshtë (aka taksonomia) "public" => true, "menu_position" => 5, "menu_icon" => "dashicons-id-alt",); register_post_type ("video", $args); ) add_action("init", "video_cp", 0); // inicialize ) if (! function_exists("categoria_video")) ( // Kategoritë për vendet e lira të funksionit categoria_video() ( $labels = array("name" => _x("Kategoritë e videove", "Emri i përgjithshëm i Taksonomisë", "categoria_video "), "singular_name" => _x("Kategoria video", "Taksonomia Emri i njëjës", "categoria_video"), "menu_name" => __("Kategoritë", "categoria_video"), "të gjithë_artikujt" => __(" Kategoritë", "categoria_video"), "parent_item" => __("Video e kategorisë prind", "categoria_video"), "parent_item_colon" => __("Kategoria prindërore e videos:", "categoria_video"), "emri_new_item" => __("Kategoria e re", "categoria_video"), "add_new_item" => __("Shto kategori të re", "categoria_video"), "edit_item" => __("Redakto kategorinë", "categoria_video"), "update_item" => __("Përditëso kategorinë", "categoria_video"), "search_items" => __("Gjeni", "categoria_video"), "add_or_remove_items" => __("Shto ose hiq kategorinë", "categoria_video"), " select_from_most_used" => __("Kërko mes të njohurve", "categoria_video"), "not_found" => __("Nuk u gjet", "categoria_video"),); $args = array("labels" => $labels, "hierarchical" => true, "public" => true,); regjistri_taksonomia ("kategoria_video", grupi ("video"), $args); ) add_action("init", "categoria_video", 0); // inicializoj)

Falë përdoruesit Stinker për këshillën, mund t'ju duket e dobishme.

P.S. Roje. Në një nga blogjet e Runet ne gjetëm një përzgjedhje të mrekullueshme të temave të portofolit të WordPress nga 17 shabllone falas me cilësi të lartë.

Paraardhësit tanë të largët dikur u detyruan të përdornin postën e pëllumbave dhe shërbimet e lajmëtarëve për të dërguar mesazhe në distanca të gjata. Pastaj u shpik telegrafi primitiv dhe posta letre u shfaq në të njëjtën kohë. Dhe për një kohë të gjatë na u desh të dërgonim paraprakisht telegrame ose kartolina urimi. Por të gjitha këto arkaizma janë një gjë e së kaluarës së largët. Tani mund t'i dërgoni një urim zanor për ditëlindjen në telefonin tuaj në çdo kohë kujtdo të afërt dhe të dashur për ju në vetëm disa minuta!

Urimet me zë të ditëlindjes janë dhurata më e mirë për miqtë dhe familjen

Mëngjesi i festës duhet të fillojë me urime dhe dhurata! Dëshironi të kënaqni një të dashur me një surprizë interesante, por nuk dini si ta bëni atë? Nëse vokali nuk përfshihet në listën e meritave dhe talenteve tuaja, atëherë është më mirë të mos këndoni në telefon herët në mëngjes "Happy bezdeyo tu yuuuu". Ju mund të porosisni urimet e ditëlindjes nga ne me telefon. Zgjidhni një përshëndetje me zë të ftohtë nga Putini me Yotafon dhe Lada Kalina si dhuratë, një shaka komike nga Ministria e guximshme e Situatave të Emergjencave, një përshëndetje personale nga Zhirinovsky tronditës, një ditty e zjarrtë gjeorgjiane, një parodi, një këngë shpirtërore. Ne kemi urime të shëndosha për ditëlindjen në telefonin tuaj për fëmijë dhe të rritur për çdo shije!

Përparësitë e urimeve audio për ditëlindjen në telefonin tuaj

Nuk është gjithmonë e mundur të kënaqësh djalin e ditëlindjes me fishekzjarre, ëmbëlsira, shampanjë dhe dhurata që në mëngjes. Nëse shoku ose familja juaj është shumë larg, atëherë mund të kufizoheni në një telefonatë banale në mëngjes. A mendoni gjithashtu se kjo është shumë e mërzitshme dhe e modës së vjetër? Më pas përfitoni nga mundësitë e teknologjive të reja - porosisni urimet e ditëlindjes në telefonin tuaj dhe jepni një humor të shkëlqyeshëm! Një shaka ose dhuratë e tillë muzikore me siguri do t'i pëlqejë djalit të ditëlindjes. Ai do të befasohet këndshëm nga surpriza juaj e pazakontë!

Zgjidhni kartat më të mira zanore të ditëlindjes me temë

Shërbimi ynë i kartave zanore, urimeve SMS dhe shakave telefonike përmban një koleksion të artë shakash, shakash dhe kompozimesh muzikore. Ju mund të zgjidhni çdo urim të ditëlindjes. faqja ka përgatitur dhurata audio për vëllezërit dhe motrat, prindërit, miqtë, të dashurit, punonjësit dhe fqinjët tuaj. Të gjitha urimet e ditëlindjes janë të lezetshme dhe qesharake. Dëshironi të kënaqni vajzën e ditëlindjes me një ditty të zjarrtë gjeorgjiane, një parodi të zemrës së famshme Nikolai Baskov ose një këngë shpirtërore nga Lev Leshchenko? Ne kemi ndonjë urim për ditëlindje që mund t'i telefononi në telefonin tuaj!

  • Urimet me zë të ditëlindjes me emër nga A në Z do të jenë një surprizë e këndshme urimi për djalin e ditëlindjes. Një përshëndetje e tillë muzikore apo komike perceptohet si e përgatitur personalisht për të!
  • Kartat muzikore për shenjën e zodiakut do të kënaqin lexuesin paksa supersticioz të horoskopit dhe do t'i sjellin fat për të gjithë vitin e ardhshëm.
  • Urimet zanore për ditëlindjen e një gruaje do të jenë një dhuratë e mrekullueshme për nënat, gjyshet, mësueset ose të dashurat.
  • Kartolina për të dashurit tuaj, qesharake, nga të famshëm do t'ju ndihmojnë të flisni për ndjenjat tuaja, t'ju gëzojnë dhe t'ju vendosin në një humor pozitiv.
  • Urimet me temë për një motër, të dashurën, të dashurin, gjyshen ose fëmijën do t'ju lejojnë të zgjidhni dhuratën më të përshtatshme individuale.
  • Urimet zanore për ditëlindjen e një burri do të jenë një surprizë e mrekullueshme për përvjetorin e tij dhe do të kënaqin një mik të mirë të vjetër ose një mik të mirë.

Urimet tona SMS për ditëlindje përmbajnë urime të mira dhe të sinqerta. E keni të vështirë të gjeni fjalët e duhura për t'i shprehur dashurinë dhe mirënjohjen tuaj një personi të dashur, për ta falënderuar për shumë vite miqësi të fortë? Zgjidhni urimet e gatshme të ditëlindjes për një burrë apo grua, dërgoni një kartë zanore dhe mos u shqetësoni për asgjë!

Jepini të dashurit tuaj ngrohtësi, kujdes dhe emocione pozitive!

Sot synimi ynë është të krijojmë një strukturë hierarkike të kategorive. Është e rëndësishme për ne që të jetë e përshtatshme për të ruajtur kategoritë dhe që të jetë e lehtë t'i shfaqim ato aty ku na duhen.

Ndonjëherë gjërat e thjeshta duken të ndërlikuara, kjo është arsyeja pse unë do të postoj disa fragmente kodi që shpresoj të jenë të dobishme për ju për zbatimin e kategorive PHP në formën e një peme.

Pra, struktura duhet të përbëhet nga id i kategorisë (id), emri i kategorisë (emri) dhe sigurisht id i kategorisë prind (parent_id). Në MySQL duket kështu:

KRIJO TABELA NËSE NUK EKZISTON `kategoria` (`id` int(10) i panënshkruar NOT NULL AUTO_INCREMENT, `emri` varchar(255) NOT NULL, `parent_id` int(11) NOT NULL, ÇELËSI KRYESOR (`id`)) ENGINE =InnoDB SEKTORI I PARAKTUAR=utf8 AUTO_INCREMENT=0 ;

Struktura minimale dhe e qartë e tabelës për ruajtjen e kategorive.

INSERT NE "kategoria" ("id", "emri", "id_prindërit") VLERAT (1, "Telefonat dhe tabletët", "0"), (2, "Makinat", "0"), (3, "Samsung" ", "1"), (4, "Apple", "1"), (5, "LG", "1"), (6, "Ford", "2"), (7, "Lexus", "2"), (8, "BMW", "2"), (9, "Galaxy Tab 4", "3"), (10, "Galaxy S6", "3");

Aty ku vlera prind_id=0, kjo kategori nuk ka një kategori prind.

Gjithçka këtu është e qartë dhe e thjeshtë. Tani le të zbresim në shfaqjen e listës së kategorive. Por për të shfaqur listën në mënyrë korrekte, së pari duhet të marrim të gjithë listën e kategorive PHP dhe vetëm më pas të përdorim rekursionin për të formuar pemën tonë. Funksioni i mëposhtëm është krijuar për të marrë këtë listë:

Funksioni get_cat() ( //pyetja e bazës së të dhënave $sql = "SELECT * FROM kategori"; $result = mysql_query($sql); if(!$result) (kthim NULL; ) $arr_cat = array(); if( mysql_num_rows( $rezultat) != 0) ( //Në ciklin ne formojmë një grup për ($i = 0; $i< mysql_num_rows($result);$i++) { $row = mysql_fetch_array($result,MYSQL_ASSOC); //Формируем массив, где ключами являются адишники на родительские категории if(empty($arr_cat[$row["parent_id"]])) { $arr_cat[$row["parent_id"]] = array(); } $arr_cat[$row["parent_id"]] = $row; } //возвращаем массив return $arr_cat; } }

//merr grupin e drejtorive $result = get_cat();

Tani na duhet një funksion me rekursion

Funksioni view_cat($arr,$parent_id = 0) ( //Kushtet për daljen nga rekursioni if(empty($arr[$parent_id])) (kthim; ) echo "

    "; // kaloni nëpër grup dhe shfaqeni atë në ekran për ($i = 0; $i< count($arr[$parent_id]);$i++) { echo "
  • " .$arr[$parent_id][$i]["name"]."; //rekursion - kontrolloni nëse ka ndonjë kategori fëmijësh view_cat($arr,$arr[$parent_id][$i]["id" ]); jehonë "
  • ";) jehonë"
"; }

Tani gjithçka që mbetet është të shfaqni drejtorinë në ekran duke përdorur një funksion rekurziv

View_cat ($rezultati);

Dhe në përgjithësi kjo është e gjitha. Në këtë mënyrë mund të marrim një pemë të plotë kategorie me nënkategori të pafundme.

Merr të dhëna nga kategoria e specifikuar.

Nëse kaloni një objekt që përmban informacione për kategorinë te parametri $category, këto të dhëna do të ruhen në memorien specifike.

Nëse kaloni ID-në e kategorisë në parametrin $category, të dhënat e kategorisë do të merren nga baza e të dhënave ose nga cache, nëse ka një të tillë.

Kushtojini vëmendje funksionit get_term(), e cila është identike me get_category. Me ndihmën e tij, ju mund të merrni të dhëna nga një taksonomi e ndryshme nga kategoria.

✈ 1 herë = 0,000443s = shpejtë| 50000 herë = 0,92 s = shumë shpejt| PHP 7.0.5, WP 4.5.1

Nuk ka grepa.

Përdorimi

$cat = get_category($category, $output, $filter); $ kategori (numri) (kërkohet) ID-ja e kategorisë ose objekti që përmban të dhëna për kategorinë.
Parazgjedhja: jo$output (konstante)

Çfarë lloj grupi për të kthyer të dhënat:

  • OBJEKT - objekt;
  • ARRAY_A - grup asociativ;
  • ARRAY_N - grup i indeksuar.

Parazgjedhja: OBJEKT

$filtër (linjë) Filtri (nuk e kuptoj saktësisht se çfarë lloj filtri është).
Parazgjedhja: "i papërpunuar"

Shembuj

#1. Le të shfaqim të dhënat e kategorisë në faqen e së cilës ndodhemi (aktuale):

$thisCat = get_category(get_query_var("cat")); print_r ($thisCat);

Si rezultat, ne do të shohim diçka të tillë:

Objekti StdClass ( => 85 => Emri i kategorisë => emri i kategorisë => 0 => 85 => kategoria => => 70 => 0 => 85 => 0 => => emri i kategorisë => emri i kategorisë = > 70)

Artikujt më të mirë mbi këtë temë