Blog archives for Enero, 2010

Enero 31st, 2010

Temas que imitan webs famosas

A todos nos gusta tener un sitio con un aspecto diferenciador pero son muchas las ocasiones en que puede ser interesante disponer de un diseño que imite a webs famosas. Imagina, por ejemplo, un blog de fans de Facebook, o un portal sobre mundo Apple ¿no te gustaría ofrecer un aspecto similar al servicio o web al que haces homenaje?.

Pues bien, aquí tienes un repaso por algunos temas que imitan webs bien conocidas. Seguro que alguno ya lo conocías, pero puede que alguno te sorprenda.

    WPSN Theme – clon de ESPN

    Información del tema Demo Ver sitio original

    Seguro que hay muchos más, pero esta es una buena muestra de como se pueden imitar sitios famosos, en muchos casos con temas gratuitos.

    Ahora bien, otra cosa es la originalidad, esa es otra discusión.

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Enero 31st, 2010

Todas nuestras etiquetas en una lista desplegable

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(' ', '&nbsp;', 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

WordPress 2.9 y la función Post Image

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

Domina el “loop” como un experto sin tocar una línea de código

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:

Clic aquí para iniciar la descarga Guía Domina tu Blog

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Enero 29th, 2010

Cómo intercambiar el valor de dos variables

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.

Variables 1É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.

Variables 2Lo 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 />”;
?>

email Bitacoras.com Twitter del.icio.us Facebook Google Bookmarks BarraPunto Meneame Wikio Ping.fm Technorati

También puedes leer Weblog Magazine, mi blog en ABC.es

Y estoy en Twitter, Facebook y Tumblr.

Enero 29th, 2010

Excluir cierta categoría al listar las categorías a las que pertenece un post

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

Creación de menús usando las páginas estáticas

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

Las estadísticas pérdidas de Analytics

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

WordPress Personas para Firefox

Si usas el navegador Firefox, es más, si te apasiona WordPress, ahora puedes vestir tu Firefox con el sistema de skins llamado “personas” y, en concreto, con alguna de las pieles que el equipo de Automattic ha elaborado.

Solo tienes que hacer clic en alguna de las siguientes pieles para instalar (desde Firefox) la que más se ajuste a tus gustos … 

Vintage Personas

Inkwell Personas

Gracias ejner

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Enero 27th, 2010

WordPress 2010

Si quieres ver el aspecto del que será el nuevo tema por defecto de WordPress, conocido como WordPress 2010, ya puedes seguir su desarrollo en el blog que irá mostrando sus cambios y evolución: 2010 Theme Development.

Personalmente me parece un acierto el aspecto claro, una tipografía mayor, los elementos HTML, el menú desplegable de páginas, el ancho mayor que Kubrick y el CSS utilizado para imágenes y la galería, no así la tipografía utilizada (serif) y, quizás, la excesiva altura de la cabecera.

Y a ti ¿que te parece?

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar Wordpress

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!