Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Zanimljivo
  • Krvni pritisak kod muškaraca kategorija php cat id. PHP kategorije (Stablo kategorija)

Krvni pritisak kod muškaraca kategorija php cat id. PHP kategorije (Stablo kategorija)

Pozdrav svim čitaocima bloga WordPress Inside u 2011, čestitam vam predstojeće i predstojeće praznike, želim vam puno zdravlja, sreće i radosti u narednih 360 dana. Kao što sam obećao u svom članku o planovima za sljedeću 2011., radim na tome da malo poboljšam sve svoje glavne blogove - ažuriram sisteme, instaliram najnovije verzije dodataka i udubim se u šablone radi optimizacije i ispravki grešaka. Posao je bio izuzetno težak, čak bih rekao i veoma mukotrpan - nađete jednu nepreciznost, odlučite je ispraviti, a pred vama je 5 zasebnih projekata, za svaki od kojih trebate napraviti ispravke. Pa pošto sam sve ovo već planirao, nema povratka, u isto vrijeme stičem dodatno iskustvo u tom procesu i već sam našao oko 5-6 tema za nove postove na blogu :) Danas ćemo pričati o kategorije i funkcije za njihovo prikazivanje.

U jednom od prethodnih članaka na blogu objavio sam hak koji pomaže. Ovo rješenje je korišteno za funkciju prikaza liste kategorija u bočnoj traci pomoću funkcije wp_list_categories. Izlaz bi bio otprilike ovako:

Sigurnost

Ako atribut title ima barem neki značaj za SEO, onda bi bilo mnogo korisnije jednostavno staviti naziv kategorije tamo, a ne sav ovaj nepotreban tekst. Zapravo, gornji link ka haku je pomogao u rješavanju ovog problema. Ali evo problema, sve je ovo bilo tačno (radilo) za , što je omogućilo da se rezultujuća lista unapred obradi bez da se odmah prikaže. Ali što je s drugim funkcijama za prikaz kategorija? - to je pitanje.

Na primjer, danas sam sasvim slučajno otkrio da se gomila nepotrebnog teksta upisuje u atribut title linka kada se prikazuje lista kategorija za određeni post.

Cijeli problem je bio u tome što se ovdje koristi funkcija_kategorija, za koji, nažalost, ne možete postaviti parametar tako da se rezultat njegovog poziva ne prikaže odmah. Ali WordPress ima još jednu funkciju, get_the_category, koja vraća niz objekata kategorije za određeni post.

get_the_category funkcija

Sintaksa funkcije get_the_category je prilično jednostavna:

cat_name; ?>

Programeri znaju da nulti parametar niza daje prvi element, a to zapravo objašnjava kako ovaj kod radi.

ID); var_dump($categories); ?>

ID); var_dump($categories); ?>

Da biste to uradili, morate proslediti id objave kao parametar funkciji, što se i dešava u kodu.

Inače, koristim ovu funkciju na nekim stranicama za prikaz naziva kategorije objave, ali bez aktivne veze - to je samo dodatni koristan tekst na stranici. U ovom slučaju možete koristiti kod:

cat_name . " " ; ) ?>

cat_name . " "; ) ?>

Pa, i konačno, nakon malo razmišljanja, došli smo do haka za prikaz liste kategorija za objavu bez upotrebe funkcije the_category, koju smo uspješno zamijenili get_the_category. Ako želite dodati kod direktno na mjesto u šablonu gdje se prikazuju kategorije, na primjer, datoteku archive.php, onda napišite nešto poput:

U principu možete postaviti kod za prikazivanje kategorija u funkcijskoj datoteci, a zatim u datotekama šablona promijeniti the_category u novu funkciju, na primjer, pod nazivom my_thecat(). Naravno, ne zaboravite dodati odgovarajući kod u datoteku functions.php prije zamjene:

funkcija my_thecat() ( globalni $post ; foreach ((get_the_category($post -> ID) ) kao $category ) ( echo " cat_ID ) . "" title="" . $category -> cat_name . "">" . $. kategorija -> ime_mačke . "; " ; ) )

funkcija my_thecat() ( globalni $post; foreach((get_the_category($post->ID)) kao $category) ( echo "cat_ID)."" title="".$category->cat_name."">".$ kategorija->ime_mačke."; "; ) )

Testirao sam, sve radi. Ostaje samo jedno pitanje - koliko je sve ovo korisno i krajnje neophodno? Ako imate jedan blog sa dosljednim dizajnom koji želite učiniti najboljim, onda možete odvojiti nekoliko minuta i napraviti odgovarajuće izmjene. Ako imate puno ovakvih blogova, mislim da manipuliranje naslovom neće donijeti veliku SEO korist u smislu toga, lakše je kupiti linkove u Rotapostu za sve ove projekte - usput, eksperiment za podizanje TIC-a u sistem je uspješno i pozitivno završen, uskoro će biti izvještaj o tome.

Prikaz prilagođenih kategorija postova

Komentari sugeriraju da gornji primjeri ne rade za prilagođene (korisničke) vrste postova. Nisam naišao na ovaj problem, pa vam mogu samo savjetovati da proguglate rješenje u blogovima na engleskom jeziku koristeći ključnu riječ wordpress custom post type show category ili koristite savjet korisnika Stinker (iz komentara). Gdje su prikazane kategorije, samo trebate zalijepiti kod:

Gdje je categoria_video taksonomija korisničkog posta (aka prilagođena). A sada detaljnije odakle i šta. Na primjer imamo:

// Vrsta snimanja Video if ( ! function_exists ( "video_cp" ) ) ( funkcija video_cp() ( $labels = array ( "name" => _x( "Video" , "Opšti naziv vrste objave" , "video" ) , "singular_name" => _x ( "Video" , "Tip objave u jednini" , "video" ) , "menu_name" => __( "Video" , "video" ) , "parent_item_colon" => __( "Roditelj:" , "video" ) , "all_items" => __( "Svi video zapisi", "video" ) , "view_item" => __( "Pogledaj" , "video" ) , "add_new_item" => __( "Dodaj novi video", "video" ) , "add_new" => __( "Dodaj video" , "video" ) , "edit_item" => __( "Uredi video", "video" ) , "update_item" => __( "Ažuriraj video" , "video" ) , "search_items" => __( "Pronađi video" , "video" ) , "not_found" => __( "Nije pronađeno " , "video" ) , "not_found_in_trash" => __( "Nije pronađeno u kolicima", "video" ) , ) ; $args = array ( "labels" => $labels , "supports" => niz ( "title" , "editor" , "excerpt" , ) , "taxonomies" => array ( "categoria_video") , // kategorija koju ćemo kreirati u nastavku (aka taksonomija)"public" => true , "menu_position" => 5 , "menu_icon" => "dashicons-id-alt" , ) ; register_post_type( "video" , $args ) ; ) add_action( "init" , "video_cp" , 0 ) ; // inicijalizirati) if ( ! function_exists ( "categoria_video" ) ) ( // Kategorije za slobodna radna mjesta funkcija categoria_video() ( $labels = niz ( "name" => _x( "Video kategorije", "Opšti naziv taksonomije" , "categoria_video" ) , "singular_name" => _x( "Kategorija Video", "Taxonomy Singular Name" , "categoria_video" ) , "menu_name" => __( "Kategorije" , "categoria_video" ) , "all_items" => __( "Kategorije" , "categoria_video" ) , ( "Video za kategoriju roditelja", "categoria_video" ) , "parent_item_colon" => __( "Video za kategoriju roditelja:", "categoria_video" ) , "new_item_name" => __( "Nova kategorija", "categoria_video" ) , "add_new_item" => __( "Dodaj novu kategoriju", "categoria_video" ) , "edit_item" => __( "Uredi kategoriju", "categoria_video" ) , "update_item" => __( "Ažuriraj kategoriju", "categoria_video" ) , "search_items" => __( "Pronađi" , "categoria_video" ) , "add_or_remove_items" => __( "Dodaj ili ukloni kategoriju", "categoria_video" ) , "choose_from_most_used" => __( "Traži među popularnim", "categoria_video" ) , "not_found" => __( "Nije pronađeno" , "categoria_video" ) , ) ; $args = niz ( "labels" => $labels, "hierarchical" => true, "public" => true, ) ; register_taxonomy( "categoria_video" , niz ( "video" ) , $args ) ; ) add_action( "init" , "categoria_video" , 0 ) ; // inicijalizirati }

// Vrsta objave Video if (! function_exists("video_cp")) ( function video_cp() ( $labels = array("name" => _x("Video", "Opšti naziv vrste objave", "video"), " singular_name" => _x("Video", "Tip objave Jedinstveni naziv", "video"), "menu_name" => __("Video", "video"), "parent_item_colon" => __("Roditelj:", "video"), "all_items" => __("Svi video zapisi", "video"), "view_item" => __("Pogledaj", "video"), "add_new_item" => __("Dodaj novi video" , "video"), "add_new" => __("Dodaj video", "video"), "edit_item" => __("Uredi video", "video"), "update_item" => __("Ažuriraj video" ", "video"), "search_items" => __("Pronađi video", "video"), "not_found" => __("Nije pronađen", "video"), "not_found_in_trash" => __("Nije pronađeno u korpi", "video"),); $args = array("labels" => $labels, "supports" => array("title", "editor", "excerpt",), "taksonomije" = > array("categoria_video"), // kategorija koju ćemo kreirati ispod (aka taksonomija) "public" => true, "menu_position" => 5, "menu_icon" => "dashicons-id-alt",); register_post_type("video", $args); ) add_action("init", "video_cp", 0); // inicijaliziraj ) if (! function_exists("categoria_video")) ( // Kategorije za slobodna radna mjesta function categoria_video() ( $labels = array("name" => _x("Kategorije videa", "Opšti naziv taksonomije", "categoria_video" "), "singular_name" => _x("Kategorija Video", "Taxonomy Singular Name", "categoria_video"), "menu_name" => __("Kategorije", "categoria_video"), "all_items" => __(" Kategorije", "categoria_video"), "parent_item" => __("Video za roditeljsku kategoriju", "categoria_video"), "parent_item_colon" => __("Roditeljska kategorija Video:", "categoria_video"), "new_item_name" => __("Nova kategorija", "categoria_video"), "add_new_item" => __("Dodaj novu kategoriju", "categoria_video"), "edit_item" => __("Uredi kategoriju", "categoria_video"), "update_item" => __("Ažuriraj kategoriju", "categoria_video"), "search_items" => __("Pronađi", "categoria_video"), "add_or_remove_items" => __("Dodaj ili ukloni kategoriju", "categoria_video"), " select_from_most_used" => __("Traži među popularnim", "categoria_video"), "not_found" => __("Nije pronađeno", "categoria_video"),); $args = array("labels" => $labels, "hierarchical" => true, "public" => true,); register_taxonomy("categoria_video", array("video"), $args); ) add_action("init", "categoria_video", 0); // inicijalizirati)

Hvala korisniku Stinker na savjetu, možda će vam biti od koristi.

P.S. Guard. U jednom od blogova Runeta pronašli smo prekrasan izbor tema WordPress portfelja od 17 besplatnih visokokvalitetnih šablona.

Naši daleki preci su nekada bili primorani da koriste golublju poštu i usluge glasnika za slanje poruka na velike udaljenosti. Tada je izumljen primitivni telegraf, a otprilike u isto vrijeme pojavila se i papirna pošta. I još dugo smo morali unaprijed slati telegrame s čestitkama ili razglednice. Ali svi ovi arhaizmi su stvar daleke prošlosti. Sada možete poslati glasovnu čestitku za rođendan na svoj telefon u bilo koje vrijeme svima koji su vam bliski i dragi za samo par minuta!

Glasovne čestitke za sretan rođendan najbolji su poklon za prijatelje i porodicu

Praznično jutro treba započeti čestitkama i poklonima! Želite li obradovati voljenu osobu cool iznenađenjem, ali ne znate kako to učiniti? Ako vokal nije uvršten na listu vaših zasluga i talenata, onda je bolje da rano ujutro ne pjevate u telefon “Sretan bezdeyo tu yuuuu”. Rođendanske čestitke možete naručiti kod nas telefonom. Izaberite kul glasovni pozdrav od Putina sa Yotafonom i Ladom Kalinom na poklon, komičnu šalu hrabrog Ministarstva za vanredne situacije, lični pozdrav šokantnog Žirinovskog, vatrenu gruzijsku pesmu, parodiju, duševnu pesmu. Imamo zvučne čestitke za sretan rođendan na vašem telefonu za djecu i odrasle za svačiji ukus!

Prednosti audio čestitki za rođendan na vašem telefonu

Nije uvijek moguće ugoditi rođendanskom dječaku vatrometom, slatkišima, šampanjcem i poklonima od samog jutra. Ako vam je prijatelj ili član porodice jako daleko, onda se možete ograničiti na banalan telefonski razgovor ujutro. Da li i vi mislite da je ovo jako dosadno i staromodno? Zatim iskoristite mogućnosti novih tehnologija - naručite čestitke za srećan rođendan na svoj telefon i dajte odlično raspoloženje! Takva šala ili muzički poklon sigurno će zadovoljiti rođendanskog dječaka. On će biti ugodno iznenađen vašim neobičnim iznenađenjem!

Odaberite najbolje tematske glasovne čestitke za rođendan

Naš servis glasovnih čestitki, SMS čestitki i telefonskih šala sadrži zlatnu kolekciju viceva, viceva i muzičkih kompozicija. Možete odabrati bilo koju čestitku za sretan rođendan. sajt je pripremio audio poklone za vašu braću i sestre, roditelje, prijatelje, voljenu osobu, zaposlene i komšije. Sve rođendanske čestitke su cool i smiješne. Želite li obradovati slavljenicu vatrenom gruzijskom pjesmom, parodijom na poznatog srcolopa Nikolaja Baskova ili dubokom pjesmom Leva Leščenka? Imamo sve rođendanske čestitke koje možete pozvati na svoj telefon!

  • Glasovne čestitke za srećan rođendan po imenu od A do Ž biće prijatno iznenađenje za rođendanskog dečka. Takav muzički ili komični pozdrav se doživljava kao pripremljen lično za njega!
  • Muzičke karte za horoskopski znak oduševit će pomalo sujevjernog čitaoca horoskopa i donijeti mu sreću za cijelu narednu godinu.
  • Glasovne čestitke za rođendan žene bit će divan poklon za majke, bake, učiteljice ili djevojke.
  • Razglednice za vaše najmilije, smiješne, od poznatih ličnosti pomoći će vam da pričate o svojim osjećajima, oraspoložit će vas i podići pozitivno raspoloženje.
  • Tematske čestitke za sestru, djevojku, dečka, baku ili dijete omogućit će vam da odaberete najprikladniji pojedinačni poklon.
  • Glasovne čestitke za rođendan muškarca bit će prekrasno iznenađenje za njegovu godišnjicu i oduševit će dobrog starog prijatelja ili dobrog prijatelja.

Naše SMS rođendanske čestitke sadrže ljubazne i iskrene želje. Da li vam je teško da nađete prave reči da izrazite svoju ljubav i zahvalnost voljenoj osobi, da mu se zahvalite na dugogodišnjem čvrstom prijateljstvu? Odaberite gotove rođendanske čestitke za muškarca ili ženu, pošaljite glasovnu čestitku i ne brinite ni o čemu!

Poklonite svojim najmilijima toplinu, brigu i pozitivne emocije!

Danas nam je cilj stvoriti hijerarhijsku strukturu kategorija. Važno nam je da je zgodno pohranjivati ​​kategorije i da ih je lako prikazati tamo gdje su nam potrebne.

Ponekad jednostavne stvari izgledaju komplikovano, zbog čega ću objaviti nekoliko fragmenata koda za koje se nadam da će vam biti od koristi za implementaciju PHP kategorija u obliku stabla.

Dakle, struktura treba da se sastoji od id kategorije (id), naziva kategorije (ime) i naravno id nadređene kategorije (parent_id). U MySQL-u to izgleda ovako:

KREIRAJ TABELU AKO NE POSTOJI `kategorija` (`id` int(10) nepotpisan NOT NULL AUTO_INCREMENT, `ime` varchar(255) NOT NULL, `parent_id` int(11) NIJE NULL, PRIMARNI KLJUČ (`id`)) ENGINE =InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

Minimalna i jasna struktura tabele za pohranjivanje kategorija.

UMETNI U `kategoriju` (`id`, `ime`, `parent_id`) VRIJEDNOSTI (1, "Telefoni i tableti", "0"), (2, "Automobili", "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");

Gdje je vrijednost parent_id=0, ova kategorija nema nadređenu kategoriju.

Ovdje je sve jasno i jednostavno. Idemo sada na prikaz liste kategorija. Ali da bismo ispravno prikazali listu, prvo trebamo dobiti cijelu listu PHP kategorija, a tek onda pomoću rekurzije formirati naše stablo. Sljedeća funkcija je dizajnirana da dobije ovu listu:

Funkcija get_cat() ( //upit baze podataka $sql = "ODABIR * IZ kategorije"; $result = mysql_query($sql); if(!$result) ( vrati NULL; ) $arr_cat = array(); if( mysql_num_rows( $result) != 0) ( //U petlji formiramo niz for($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; } }

//dobijemo niz direktorija $result = get_cat();

Sada nam je potrebna funkcija sa rekurzijom

Funkcija view_cat($arr,$parent_id = 0) ( //Uvjeti za izlazak iz rekurzije if(empty($arr[$parent_id])) ( return; ) echo "

    "; // prođe kroz niz i prikaže ga na ekranu for($i = 0; $i< count($arr[$parent_id]);$i++) { echo "
  • " .$arr[$parent_id][$i]["name"]."; //rekurzija - provjerite da li postoje podređene kategorije view_cat($arr,$arr[$parent_id][$i]["id" ] ); echo "
  • "; ) echo "
"; }

Sada ostaje samo da prikažete imenik na ekranu koristeći rekurzivnu funkciju

View_cat($result);

I generalno to je sve. Na ovaj način možemo dobiti kompletno stablo kategorija sa beskrajnim potkategorijama.

Dohvaća podatke iz navedene kategorije.

Ako proslijedite objekt koji sadrži informacije o kategoriji parametru $category, ovi podaci će biti keširani.

Ako proslijedite ID kategorije parametru $category, podaci o kategoriji će se preuzeti iz baze podataka ili iz keša, ako postoji.

Obratite pažnju na funkciju get_term(), što je identično get_category. Uz njegovu pomoć, možete dobiti podatke iz različite taksonomije od kategorije .

✈ 1 put = 0,000443 s = brzo| 50000 puta = 0,92s = vrlo brzo| PHP 7.0.5, WP 4.5.1

Nema udica.

Upotreba

$cat = get_category($kategorija, $izlaz, $filter); $category (broj) (obavezno) ID kategorije ili objekt koji sadrži podatke o kategoriji.
Podrazumevano: ne$output (konstantno)

Koju vrstu niza vratiti podatke:

  • OBJEKT - objekat;
  • ARRAY_A - asocijativni niz;
  • ARRAY_N - indeksirani niz.

Podrazumevano: OBJECT

$filter (linija) Filter (ne razumijem tačno o kakvom se filteru radi).
Zadano: "sirovo"

Primjeri

#1. Prikažimo podatke kategorije na čijoj se stranici nalazimo (trenutno):

$thisCat = get_category(get_query_var("mačka")); print_r($thisCat);

Kao rezultat toga, vidjet ćemo nešto poput ovoga:

StdClass Object ( => 85 => Naziv kategorije => naziv-kategorije => 0 => 85 => kategorija => => 70 => 0 => 85 => 0 => => Naziv kategorije => naziv-kategorije = > 70)

Najbolji članci na ovu temu