Arxiu mensual: maig de 2012

Com crear un llistat de categories a partir d’una categoria pare – WordPress

Anirem a mostrar com fer un llistat de categories a partir d’una categoria pare, per a WordPress.
Ho teniu penjat a github:gist.

És fàcil d’entrendre. Primer capturem el nom de la categoria, seguidament, amb el nom desat a $catname, ho passem com a paràmetre a la funció get_category_by_slug($catname), que ens retornarà un objecte del tipus categoria. Com a darrera passa executarem wp_list_categories("orderby=id&show_count=0&use_desc_for_title=1&child_of=$idObj->term_id"); que ens mostrarà les categories filles de la categoria seleccionada.
El paràmetre del mètode wp_list_categories() pot variar:

  • orderby: Ordena el llistat. Pot ser id o name, segons el que necessitem en cada moment
  • show_count: 1 o 0 Mostrarà o no el número d’entrades de cada categoría.
  • use_desc_for_title: 1 o 0 S’usarà o no, la descripció de la categoría per a l’atribut title de l’enllaç
  • child_of: Id de la categoria pare

Podem trobar més info a wp_list_categories()

El mètode wp_list_categories() torna els enllaços entre etiquetes <li></li> per això el mètode està entre <ul></ul>

Nota:Es necessari que alguna entrada tingui les categories assignades, ja que si no no es mostrarà.

Com crear límits (bounds) amb la API de Google Maps v3

A la feina necessitava posar a un mapa varis punts i seguidament fer un zoom i centrar la vista en el centre d’aquests punts.
Per això esto he utilitzat la següent funció javascript, que m’he creat. Es necessaria la crida a l’API de google maps versió 3.

Com podeu veure, és facileta, sols guardam en unes variables la latitut i longitut màximes, latitut i longitut mínimes, amb les que crearem els punts per l’objecte bounds, el qual es una parella d’objetos latln. Uno serà el punt SO, el de latitut longitut mínims i l’altre serà el punt NE, el de latitut longitut màxima.
El paràmetre list és un array de JSON on tenim les diferents dades del punt a afegir, tals com la latidut i longitut.
Una vegada creat el bound, simplement hem de pasar-lo al mapa. Ho podem fer de la següent forma:

var map, bounds;
map = new google.maps.Map(div, opts); /* div es l'objecte en el que es pintarà el mapa. opts son les diferents opcions del mapa */
bounds = createBounds(list);
map.fitBounds(bounds);

No és necesari fer un map.setCenter(), perque ja ho fa automàticament el fitBounds.