Archivo de julio de 2010

12 codigos utiles para el Desarrollo de WordPress

Jueves, 29 de julio de 2010

Despues de ver como Como hacer que aperezcan mis 煤ltimos post wordpress en mi web html donde presentabamos diferentes c贸digos.
Hoy os traemos una serie de 12 fragmentos de c贸digo o “hacks” que te ayudar谩n a ampliar las capacidades de tuWordPress sitio .

Personalice el logotipo de su p谩gina de inicio de sesi贸n WordPress

Despu茅s de tener que visitar constantemente la p谩gina de entrada de WordPress, tener que ver el mismo logo y el dise帽o de una y otra vez puede ser un poco aburrido. Aqu铆 es donde este truco es muy 煤til. Todo lo que tienes que hacer es colocar lo siguiente en sufunctions.php archivo y vuelva a colocar la imagen.



function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
    </style>';
}

add_action('login_head', 'my_custom_login_logo');

Detecci贸n de dispositivos m贸viles que acceden a su sitio

La navegaci贸n por Internet a traves del m贸vil sigue evolucionando a mayor escala. Esta es la raz贸n por la detecci贸n de aquellos usuarios que est谩n visitando un blog de WordPress a trav茅s de un dispositivo m贸vil y su reorientaci贸n a una versi贸n m贸vil de su sitio es importante. Para lograr esto, primero tiene que obtener el c贸digo de detectmobilebrowsers.mobi y s煤belo a tu directorio de temas.

Entonces, todo lo que simplemente tienes que hacer es abrir tu header.php archivo y el lugar siguiente en la parte superior del archivo. Recuerde que debe modificar la l铆nea 5 para el lugar donde quiere redirigir los usuarios m贸viles.


include('mobile_device_detect.php');
$mobile = mobile_device_detect();

if ($mobile==true) {
  header( 'Location: http://your-website.com/?theme=Your_Mobile_Theme' ) ;
}

Cambiar autom谩ticamente el tama帽o Im谩genes

Si est谩s acostumbrado a mostrar grandes cantidades de im谩genes entsu blog, entonces sabes lo tedioso que puede ser tener que cambiar el tama帽o de las im谩genes siempre de forma manual. Ahora puedse utilizar este truco para cambiar el tama帽o autom谩ticamente cualquier imagen que desees a lo ancho y la altura que elijas para una mirada m谩s organizada. Para ello, copia la siguiente secuencia de comandos y crear una carpeta para que en cualquier lugar de su sitio (es decir, secuencias de comandos) y el nombre “timthumb.php“. Ahora, puedes utilizar la sintaxis siguiente para agregar una imagen de tama帽o autom谩ticamente a tu entrada en el blog:



<img src="/scripts/timthumb.php?src=/images/whatever.jpg&amp;h=150&amp;w=150&amp;zc=1" alt="" />

Viendo sus etiquetas en un men煤 desplegable

Las nubes de etiquetas son a menudo dif铆ciles de leer, especialmente para un sitio muy ocupados. Elimina este problema mediante un men煤 desplegable para mostrar las etiquetas. Debe colocar el siguiente c贸digo en su functions.php archivo.


<?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 );
}
?>


Ahora, para finalizar el men煤 desplegable tienes que abrir el archivo de tema en el que desea la lista que se muestra (es decir, sidebar.php) e introducir el siguiente c贸digo:


<select name="tag-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
	<option value="#">Liste d'auteurs</option>
	<?php dropdown_tag_cloud('number=0&order=asc'); ?>
</select>

Customizar “Leer m谩s”

Este es un truco muy 煤til si desea definir mejor o personalizar el aspecto de su “Leer m谩s” v铆nculos de puestos. Lo primero que tienes que hacer es editar sus mensajes y crear campos personalizados. Dales custom_more como clave y el texto que desee que se muestre como el valor. Entonces usted tiene que editar el index.php archivo (y tambi茅n su category.php, search.php, etc) y encontrar una l铆nea similar a esta:


the_content("Read more");


Ahora s贸lo tiene que reemplazarlo con este c贸digo:


<?php $custommore = get_post_meta($post->ID, 'custom_more', true); ?>
<?php if (!$custommore) { $custommore = 'Read More &raquo;'; } ?>
<?php the_content($custommore); ?>

Programaci贸n de Puestos de RSS

Si publican regularmente art铆culos y usted se preocupa por la calidad de sus mensajes, este es un hack bueno para usted. El principal objetivo de este truco es que le permite programar sus puestos para ser visto en su RSS en un momento posterior, esto le dar谩 tiempo suficiente para que las correcciones de 煤ltimo minuto y adiciones antes de su entrada es para siempre publicado en su alimentaci贸n. Coloque el siguiente c贸digo en su . htaccess archivo. Con el fin de cambiar la duraci贸n del retraso, cambie el valor de los $waitvariable en la l铆nea 9.


function publish_later_on_feed($where) {
	global $wpdb;

	if ( is_feed() ) {
		// timestamp in WP-format
		$now = gmdate('Y-m-d H:i:s');

		// value for wait; + device
		$wait = '5'; // integer

		// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
		$device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

		// add SQL-sytax to default $where
		$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
	}
	return $where;
}

add_filter('posts_where', 'publish_later_on_feed');

Permitir s贸lo su direcci贸n IP para tener acceso al directorio wp-admin

Si no tienes m煤ltiples autores o colaboradores en tu blog, a continuaci贸n, hablando en t茅rminos realistas s贸lo debes permitir visitar el directorio wp-admin. Sobre todo porque una gran cantidad de riesgos de seguridad supondr谩 la-admin directorio wp.Todo lo que tienes que hacer es introducir la direcci贸n IP est谩tica en la l铆nea 8. Puedes agregar m谩s direcciones IP si es necesario, mediante la creaci贸n de una nueva l铆nea. Introducir en el . htaccess archivo.


AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT

Estilos parar sus comentarios WordPress

Cuando un blog tiene un mont贸n de comentarios, entonces es una buena manera de conseguir a visitantes a interactuar m谩s por un estilo la forma en sus comentarios se muestran. Si esto es lo que usted est谩 buscando para que, a continuaci贸n, abra sucomments.php archivo y vuelva a colocar el bucle comentarios con el siguiente c贸digo:


<ol id="commentlist">
<?php foreach ($comments as $comment) : ?>
	<?php // The extra stuff to get commenter's role
	$user_id = $comment->user_id;
	$role = ( isset( $roles[$user_id] ) ? $roles[$user_id] : '' );
	?>
	<li class="<?php echo $role; ?>">
	<p>By <?php comment_author_link() ?> - <?php comment_date() ?></p>
	<?php comment_text() ?>
	</li>
<?php endforeach; ?>
</ol>


Ahora a la estructura de tu comentario tendr谩 que abrir su archivo style.css y coloque el siguiente c贸digo:


#commentlist li { border:2px solid white; } /* not logged or subscriber */
#commentlist li.administrator { border:2px solid red } /* blog admin */
#commentlist li.editor { border:2px solid blue } /* editor */

Retire 脕reas widget en su P谩gina de Inicio

Si su sitio de WordPress potencia es m谩s que un blog, entonces probablemente quiera deshacerse de las 谩reas widget en tu barra lateral defecto y crear uno propio. Este truco no requiere ning煤n tipo de edici贸n, s贸lo la inserci贸n de c贸digo. Ahora, todo lo que necesita hacer es a帽adir lo siguiente a su functions.php archivo:


<?php
add_filter( 'sidebars_widgets', 'disable_all_widgets' );

function disable_all_widgets( $sidebars_widgets ) {
	if ( is_home() )
		$sidebars_widgets = array( false );
	return $sidebars_widgets;
}
?>

Inserte Autor Bio para cada puesto

Un escritor de blog de varios medios por lo general todo el que escribe o contribuye un puesto tendr谩 secci贸n que habla sobre ellas. Si tu blog no tiene esta funci贸n, a continuaci贸n, empezar a dar sus autores el reconocimiento adecuado al insertar el siguiente c贸digo en su functions.php archivo. Un autor bio ser谩 autom谩ticamente aparecer谩 en la parte final de cada post.


function get_author_bio ($content=''){
    global $post;

    $post_author_name=get_the_author_meta("display_name");
    $post_author_description=get_the_author_meta("description");
    $html="<div class='clearfix' id='about_author'>\n";
    $html.="<img width='80' height='80' class='avatar' src='http://www.gravatar.com/avatar.php?gravatar_id=".md5(get_the_author_email()). "&default=".urlencode($GLOBALS['defaultgravatar'])."&size=80&r=PG' alt='PG'/>\n";
    $html.="<div class='author_text'>\n";
    $html.="<h4>Author: ".$post_author_name."</h4>\n";
    $html.= $post_author_description."\n";
    $html.="</div>\n";
    $html.="<div class='clear'></div>\n";
    $content .= $html;
    }

    return $content;
}

add_filter('the_content', 'get_author_bio');

Impida que se muestren algunas categorias

Coloca este c贸digo dentro de The Loop y cualquiera que sea la categor铆a que elija, no se mostrar谩. Esto puede ser un truco interesante para aquellos que s贸lo desean mostrar una determinada categor铆a de elegidos o usuarios registrados.


<?php
if ( have_posts() ) : query_posts($query_string .'&cat=-1,-2'); while ( have_posts() ) : the_post();
?>

Redirigir tu fuente de WordPress a FeedBurner

Si has descubierto la utilidad de FeedBurner es realmente una vez que haya configurado el sitio de WordPress, y tienes unos pocos suscriptores RSS feed de su WordPress por defecto, entonces tendr谩 que reorientar su feed a FeedBurner. Cada vez que un usuario sigue un enlace a tu fuente por defecto (es decir, http://www.yourblog.com/feed) que va a ser redirigido a la ubicaci贸n de tu feed de FeedBurner (es decir, http://feeds.feedburner.com/yourblog) . De esta manera, incluso si un usuario consigue alguna manera de suscribirse a su feed RSS de edad, que siempre va a ser redirigido a su nuevo feed. Coloque el siguiente c贸digo en su . htaccess archivo.


# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/WebDesignLedger [R=302,NC,L]
</IfModule>

<?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 );

}

?>

Los 11 Mandamientos del Twitter Corporativo

S谩bado, 24 de julio de 2010

Hace unas semanas, el Departamento de Defensa de EEUU emiti贸 su socio-pol铆tica en los medios de comunicaci贸n, Una gu铆a admirablemente permisiva para el personal militar que rigen su uso de Facebook, Twitter, blogs, Flickr y YouTube. 驴El resultado? Todo est谩 bien, dice los mandamases del Pentagono.

El apoyo ostensible a las redes sociales es especialmente notable si se considera que la Am茅rica corporativa, y el resto del mundo corporativo, para el caso, no encuentra Twitter de su agrado desde un punto de vista empresarial y pol铆tico.
Encuestas recientes muestran que un total siete de cada 10 empresas estadounidenses y casi ocho de cada 10 empresas brit谩nicas todav铆a no han consensuado c贸mo la empresa y sus empleados han de utilizar los social media en el trabajo.

A continuaci贸n, mostramos algunos consejos que para ponderar una estrategia de Twitter. (S铆, el asesoramiento centrado en Twitter, pero cualquier empresa que se ocupa de Twitter correctamente puede f谩cilmente adaptar esta en todos los canales sociales, medios de comunicaci贸n.)

驴Debe mi compa帽铆a estar en Twitter? S贸lo si se puede cumplir con estos 11 mandamientos:

  1. Podemos articular la visi贸n de la empresa en 140 caracteres o menos, menos bombo al PR y clich茅s.
  2. Estamos dispuestos a dar cr茅dito a fresco, innovador, o ideas que hagan reflexionar, aunque acu帽ado por otra persona.
  3. Estamos dispuestos a desafiar una posici贸n potencialmente destructivos, si bien nuestra posici贸n genera cr铆ticas.
  4. Estamos dispuestos a escuchar y participar con otros, incluso si los “otros” = empleados, clientes, o activistas.
  5. No vamos a dejarnos llevar, nunca Twitter acerca de un nuevo “taza de t茅”, o peor, algunos logros corporativos banal.
  6. Vamos a dedicar un tiempo cada semana para leer lo que otros tienen que decir y la promesa de Retweet (“RT”), el m谩s inteligente, valiosa, y humor铆stica, incluso.
  7. Nunca vamos a incluir en un comunicado de prensa, de expresi贸n, o el informe anual de nuestra “figura seguidores de Twitter”, sin importar cu谩n tentador.
  8. En realidad, tenemos algo importante que decir.
  9. Si no tenemos algo que decir, vamos a encontrar a la persona en la organizaci贸n m谩s adecuada para hablar / tweeting en nombre de la empresa.
  10. Si no podemos cumplir con estos mandamientos vamos a reflexionar sobre si el marketing corporativo es el papel correcto para nosotros.
  11. Usaremos nuestro canal de Twitter no s贸lo para topar con noticias alegres, pero para mantener informados a los clientes en caso de malas noticias (es decir, una retirada de productos, una hostil recepci贸n, una crisis de relaciones p煤blicas), tambi茅n.