Enero 31st, 2010
Tags: Apple, Coda, Digg, diseño, Facebook, Gmail, Principiante, Themes, Tumblr, twitter, Wordpress.org
Posted in WordPress | Comentarios desactivados
Enero 31st, 2010
Tags: etiquetas, programación, Tags, trucos
Posted in WordPress | Comentarios desactivados
Si no tenemos un número excesivo de etiquetas y las quisiéramos desplegar en una lista, aquí tenemos el código para realizarlo.
Primero, iremos a functions.php o lo crearemos como simple archivo de texto y pegaremos en su interior el siguiente código:
<?php
function dropdown_tag_cloud( $args = '' ) {
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
'exclude' => '', 'include' => ''
);
$args = wp_parse_args( $args, $defaults );
$tags = get_tags( array_merge($args, array('orderby' => 'count', 'order' => 'DESC')) ); // Always query top tags
if ( empty($tags) )
return;
$return = dropdown_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args
if ( is_wp_error( $return ) )
return false;
else
echo apply_filters( 'dropdown_tag_cloud', $return, $args );
}
function dropdown_generate_tag_cloud( $tags, $args = '' ) {
global $wp_rewrite;
$defaults = array(
'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC'
);
$args = wp_parse_args( $args, $defaults );
extract($args);
if ( !$tags )
return;
$counts = $tag_links = array();
foreach ( (array) $tags as $tag ) {
$counts[$tag->name] = $tag->count;
$tag_links[$tag->name] = get_tag_link( $tag->term_id );
if ( is_wp_error( $tag_links[$tag->name] ) )
return $tag_links[$tag->name];
$tag_ids[$tag->name] = $tag->term_id;
}
$min_count = min($counts);
$spread = max($counts) - $min_count;
if ( $spread <= 0 )
$spread = 1;
$font_spread = $largest - $smallest;
if ( $font_spread <= 0 )
$font_spread = 1;
$font_step = $font_spread / $spread;
// SQL cannot save you; this is a second (potentially different) sort on a subset of data.
if ( 'name' == $orderby )
uksort($counts, 'strnatcasecmp');
else
asort($counts);
if ( 'DESC' == $order )
$counts = array_reverse( $counts, true );
$a = array();
$rel = ( is_object($wp_rewrite) && $wp_rewrite->using_permalinks() ) ? ' rel="tag"' : '';
foreach ( $counts as $tag => $count ) {
$tag_id = $tag_ids[$tag];
$tag_link = clean_url($tag_links[$tag]);
$tag = str_replace(' ', ' ', wp_specialchars( $tag ));
$a[] = "\t<option value='$tag_link'>$tag ($count)</option>";
}
switch ( $format ) :
case 'array' :
$return =& $a;
break;
case 'list' :
$return = "<ul class='wp-tag-cloud'>\n\t<li>";
$return .= join("</li>\n\t<li>", $a);
$return .= "</li>\n</ul>\n";
break;
default :
$return = join("\n", $a);
break;
endswitch;
return apply_filters( 'dropdown_generate_tag_cloud', $return, $tags, $args );
}
?>
Acto seguido, iremos al template en el que nos interese insertar la lista desplegable y, orientándonos entre el HTML, pegaremos el siguiente código:
<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="#">Tags</option>
<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>
Nuestros tags seran ahora mostradis en un desplegable.
Enero 30th, 2010
Tags: Miniaturas, Post Image, programación, temas, thumbnails, trucos
Posted in WordPress | Comentarios desactivados
Al fin, con WordPress 2.9 se nos ha hecho mucho más fácil indicar, mientras escribimos, cuál será la miniatura (o thumbnail) que representará al artículo en cuestión.
Para ello, colaremos este código en functions.php (al final de todo):
<?php
add_theme_support( 'post-thumbnails' );
?>
Ahora podremos, desde la Administración, subir y asignar una imagen cuya función exclusiva será la de ‘representar’ al post, e “imprimirse” por tanto en nuestros templates, al lado del texto del artículo (pero independientemente de éste).
Iremos ahora a escoger en qué lugar concreto queremos que aparezca con respecto al contenido normal de nuestro artículo. Abriremos index.php, archive.php o incluso single.php, y allí donde creamos conveniente (normalmente al lado del extracto), pondremos lo siguiente :
<?php the_post_thumbnail( 'medium' ); ?>
Podremos utilizar la siguiente “jerga” para decidir qué tamaño queremos:
- thumbnail
- medium
- large
Habrá que orientarse entre los tags de HTML del template para poner la imagen allí donde creamos correcto.
Para saber más detalles acerca de esta novedad, podemos dirigirnos a la web de Justin Tadlock.
Enero 30th, 2010
Tags: API, Avanzado, Codex, código, filtros, loop, php, plugins, programación, shortcode, widget, Wordpress.org
Posted in WordPress | Comentarios desactivados

Son muchas veces las que hablamos del “loop“, ese bloque misterioso en todo tema para WordPress que se encarga de mostrar la información creada por nosotros en nuestro sitio.
Además, son múltiples las modificaciones y personalizaciones que podemos aplicar modificando el “loop”, pero hay una pega, y es que hay que modificar los archivos del tema.
Pues bien, si quieres personalizar tu tema y no te atreves a tocar ficheros PHP ahora tienes una posibilidad de hacerlo sin salir del Escritorio de WordPress, y todo mediante “shortcodes”.
El plugin WordPress Loop usa la clase WP_Query para generar el widget “loop”. puedes ver la lista completa de argumentos posibles ($args) en la página del Codex de query_posts(). El widget de WordPress Loop tambien aprovecha los filtros y hooks de acciones para personalizaciones avanzadas.

El widget tiene más de 35 opciones entre las que elegir. Puedes personalizar tu loop de WordPress en uno o más tipos de entrada, categorías, etiqeutas, taxonomías personalizadas, autores, fechas, campos personlizados y mucho más.
Además, tiene soporte para miniaturas de entrada, entradas fijas, paginación, longitud de contenido personalizable (por número de palabras), y puedes cambiar incluso el orden de cantidad de opciones.
En la FAQ del plugin tienes la lista completa de shortcodes, filtros y hooks aplicables. Es completísimo.
Contenido exclusivo para suscriptores al Feed
¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:
Guía Domina tu Blog
¿Te gustó este post? ¡Compártelo!
Enero 29th, 2010
Tags: estructuras de datos, informática, programación, variables
Posted in WordPress | Comentarios desactivados
En nuestras pequeñas píldoras de Programación les explicaré algunos conceptos básicos. Si alguna vez se han preguntado qué hay detrás de
WordPress
o cualquier otra aplicación, no se pierdan esta serie de posts con la categoría
Programacion
.
Éste es uno de los ejercicios básicos de programación de ordenadores
y sirve para entender el concepto de variable. Una variable es la estructura más sencilla que nos podemos encontrar para almacenar datos. Con un poco de imaginación, una variable es una caja en la que podemos guardar números, textos o cualquier otra cosa; es decir, valores. El valor de una variable se puede manipular, simplemente con la operación de asignación. Esa es de las primeras instrucciones que se enseñan en programación y suele escribirse utilizando el signo ‘=’, aunque sería más intuitivo el símbolo ‘<-’. La instrucción ‘A=5′ asignaría el valor ‘5′ a la variable que se denomina ‘A’.
Nos detenemos un momento en la primera figura, donde vemos dos cajas (dos variables) recibiendo cada una un valor numérico. La caja de nombre ‘A’ recibe el valor ‘5′ y la caja de nombre ‘B’, el valor ‘2′. Eso se puede hacer con las instrucciones: ‘A=5′ y ‘B=2′. Las variables funcionan de la siguiente forma: si después de asignar un valor concreto a una variable le damos otro diferente, el primero se pierde y el que permanece es el último asignado.
El problema consiste en intercambiar los valores de ambas variables. Que B tenga el valor de A y ésta el de B, cualesquiera que sean dichos valores.
Lo más lógico sería pensar en escribir las dos intrucciones siguientes: “A=B’ y ‘B=A’. Siempre con la idea de que lo que queremos hacer es: ‘A<-B’ y ‘B<-A’. Pero con eso solo lograríamos que A y B tuvieran el valor ‘2′. Entender eso es la primera parte del ejercicio. Con ‘A=B’ se consigue que A valga 2, ya que B valía 2. Y, a continuación, si A vale ahora 2, con ‘B=A’ terminamos asignando 2 a B, con lo que A y B tendrán el mismo valor que tenía B al principio.
La forma de resolver el problema es utilizar una tercera variable auxiliar. En primer lugar, guardamos en C (la variable auxiliar) el valor de A. Después, introducimos en A el valor de B. Ahora no importa que hayamos perdido el valor de A porque lo habíamos guardado en C. Y por último, almacenamos en B el valor de C.
En PHP podemos escribirlo así (en php las variables se identifican poniéndoles delante el símbolo ‘$’, para escribir el código HTML se utiliza la instrucción ‘echo’ y todas las sentencias terminan en ‘;’):
<?php
$A=5;
$B=2;
echo “variables antes del intercambio:<br />”;
echo “A= “.$A.”<br />”;
echo “B= “.$B.”<br />”;
$C=$A;
$A=$B;
$B=$C;
echo “variables después del intercambio:<br />”;
echo “A= “.$A.”<br />”;
echo “B= “.$B.”<br />”;
?>
Enero 29th, 2010
Tags: categorias, programación, trucos
Posted in WordPress | Comentarios desactivados
Vamos a mostrar hoy un simple bloque de código muy útil para cuando usemos ciertas categorías con fines exclusivamente administrativos y no quisiéramos que se muestren al público siempre que listamos las categorías a las que un artículo pertenece.
El código es el siguiente, y lo tenemos que insertar dentro del Loop, en single.php, index.php y archive.php principalmente:
Clasificado en : <?php
foreach((get_the_category()) as $category) {
if ($category->cat_ID != '5') {
echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> ';
}
}
?>
En vez de usar el típico the_category, lo sustituiremos con este código.
Si os fijáis en la tercera línea, es allí donde debemos especificar el número de la categoría a esconder.
Ese número podremos saberlo pasando el cursor por encima de las distintas categorías en su espacio específico en nuestra Administración y fijándonos en la URL que tienen asignada: el número al final de ésta es el que nos interesa.
Esperamos que este truco sea de vuestra utilidad.
Enero 28th, 2010
Tags: menú, Páginas, programación, trucos
Posted in WordPress | Comentarios desactivados
En WordPress disponemos de un “template tag” muy útil cuando estamos creando un tema y necesitamos listar nuestras páginas estáticas como parte o totalidad del menú del encabezado de nuestro site.
En vez de crear la lista manualmente (y tener que editarla más tarde en los templates ante cualquier cambio), podremos desde un principio usar wp_page_menu como método para imprimir nuestra lista de páginas:
<?php wp_page_menu('exclude=24,27,28&menu_class=menu menu-de-contacto'); ?>
<?php wp_page_menu('include=24,27,28&menu_class=menu menu-principal'); ?>
Aquí se nos crearían por lo pronto dos menús con sus links preparados: el primero incluye todas nuestras páginas salvo tres, y el segundo sólo esas tres páginas. Podríamos usarlos de distinta manera, por ejemplo, uno que ocupara el 100% de la anchura de la página, y otro, más arriba, al lado de nuestro logo.
HTML de ejemplo:
<div id="encabezado">
<div id="logo">
<img src="<?php bloginfo('template_directory'); ?>/imagenes/logo.png">
</div>
<div id="menu-de-contacto">
<?php wp_page_menu('include=24,27,28&menu_class=menu menu-de-contacto'); ?>
</div>
<div id="menu-principal">
<?php wp_page_menu('exclude=24,27,28&menu_class=menu menu-principal'); ?>
</div>
</div>
Recordemos que la ID numérica de cada página la sabremos poniendo el cursor sobre el nombre de la página en cuestión en el panel de administración, y viendo cuál es el número que llevan en su URL.
Ambos template tags nos devolverán una lista (ul, unordered list), que deberemos luego trabajar con CSS para posicionarla y crear los gráficos necesarios.
Un ejemplo de CSS para nuestro caso:
#encabezado{
width:960px;
margin: 0 auto;
background:#fff
}
#logo,#menu-de-contacto{
width:50%;
height:120px;
margin-top:18px;
float:left
}
#menu-de-contacto li{
list-style-type:none;
display:inline;
margin-right:18px;
}
#menu-de-contacto li a{
padding:5px;
background:#EEE;
color:#999
}
#menu-principal{
width:100%;
height:3em;
line-height:3em;
margin-top:18px;
color:#555
}
#menu-principal li{
list-style-type:none;
display:inline-block;
background:#111;
padding: 0 9px;
border-right: 1px solid #555
}
Enero 28th, 2010
Tags: analytics, estadísticas, javascript, sitios web
Posted in WordPress | Comentarios desactivados
Seguro que utilizas Google Analytics para las estadísticas de tus sitios web, al igual que hacemos en medio mundo, yo también lo hago. Pero hasta hace poco no había pensado en que sucedía con las visitas que no son capaces de ejecutar o cargar código JavaScript.
Estamos perdiendo información estadística por este pequeño detalle, y la verdad después de más de un mes de prueba no son pocas las visitas que no se registran, por lo que es importante ponerse manos a la obra para no perder información.
Para esta tarea con WordPress os recomiendo el plugin noscript que se encarga de generar el código de analytics sin JavaScript en base a tu ID de analytics y así no perder esa valiosa información para nuestra web. En las estadísticas podrás verlo como origen de referidos “noscript“.
Descargar plugin noscript para WordPress.
También lo puedes hacer forma manual si no tienes WordPress. Es una tarea realmente sencilla, solo tienes que utilizar el código php siguiente cambiando las variables por tu ID y dominio.
$var_utmac = 'UA-12345-6'; // tu identificador
$var_utmhn = 'http://mydomain.com'; //introduce tu dominio
$var_referer = @$_SERVER['HTTP_REFERER']; //url referida
$var_utmp = '/noscript'; //este ejemplo añade noscript como solicitud de fichero para llevar un seguimiento
$var_utmn = rand(1000000000,9999999999); //solicitud de número aletario
$var_cookie = rand(10000000,99999999); //número para cookie aleatoria
$var_random = rand(1000000000,2147483647); //número por debajo de 2147483647
$var_today = time(); //hoy
$var_uservar = '-'; //introduce tu variable de usuario definida
$urchinUrl = 'http://www.google-analytics.com/__utm.gif?utmwv=1&utmn='.$var_utmn.'&utmsr=-&utmsc=-&utmul=-&utmje=0&utmfl=-&utmdt=-&utmhn='.$var_utmhn.'&utmr='.$var_referer.'&utmp='.$var_utmp.'&utmac='.$var_utmac.'&utmcc=__utma%3D'.$var_cookie.'.'.$var_random.'.'.$var_today.'.'.$var_today.'.'.$var_today.'.2%3B%2B__utmb%3D'.$var_cookie.'%3B%2B__utmc%3D'.$var_cookie.'%3B%2B__utmz%3D'.$var_cookie.'.'.$var_today.'.2.2.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B__utmv%3D'.$var_cookie.'.'.$var_uservar.'%3B';
echo '<noscript><img src="' . $urchinUrl . '" /></noscript>';
vía: remy sharp
Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.
Las estadísticas pérdidas de Analytics
Enero 27th, 2010
Tags: Firefox, Personas, Wordpress.com, Wordpress.org
Posted in WordPress | Comentarios desactivados
Enero 27th, 2010
Tags: CSS, Default, HTML, Kubrick, Themes, WordPress 2010, Wordpress.com, Wordpress.org
Posted in WordPress | Comentarios desactivados