Archivo de la categoría ‘Wordpress’

Añadir nofollow al blogroll de WordPress

Martes, 12 de julio de 2011

Hoy os voy a explicar como añadir el atributo nofollow a vuestro blogroll de WordPress.

En el panel de agregar los enlaces de WP hay cientos de opciones como por ejemplo si el enlace es de un amigo o de un conocido pero ninguna opción me da el atributo que nofollow.

Cómo Añadir nofollow en el blogroll wp con plugin

Gracias al plugin WP External Links que además de poder poner el atributo nofollow permite muchas opciones de personalización de los enlaces externos de nuestro blogroll.

Cómo Añadir nofollow en el blogroll wp sin plugin

Vamos a wp-admin/includes/meta-boxes.php y buscamos el siguiente bloque de código:

1 <?php _e('another web address of mine') ?>
2 </label>
3 </fieldset>
4 </td>
5 </tr>

Debajo agregamos lo siguiente:

1 <tr>
2 <th scope="row"> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('Seo') ?> </th>
3 <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('nofollow') ?> </span></legend>
4 <label for="nofollow">
5 <input class="valinp" type="checkbox" name="nofollow" value="nofollow" id="nofollow" <?php xfn_check('Seo', 'nofollow'); ?> />
6 <?php /* translators: xfn: http://gmpg.org/xfn/ */ _e('nofollow') ?></label>
7 </fieldset></td>
8 </tr>

Ahora si vamos a editar un enlace tendremos un campo llamado SEO, donde podremos activar el rel=nofollow:

El único inconveniente de agregarlo sin plugin es que al hacer una actualización los datos se perderán, pero bueno en cuestión de minutos podremos volver a tenerlo siguiendo estos sencillos pasos.

Fuente: Tecnocartas

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

}

?>

10 Plugins Esenciales para WordPress

Viernes, 4 de junio de 2010

Hay buenas razones para creer que WordPress es la plataforma de blogs más popular. Es fácil de usar y tiene toneladas de grandes características. Pero lo que realmente hace este software de código abierto sobresalir es su apasionada comunidad. Sí, WordPress tiene muchas características incorporadas, pero no tiene todo. La comunidad de WordPress cubre esta necesidad. Está lleno de talentosos desarrolladores que están constantemente creando plugins para ampliar las funciones y hacer que sea aún mejor.

Hay muchos plugins por ahí, pero en este artículo nos centramos en lo esencial. A continuación se muestra una lista de 10 plugins que cada sitio web podría usar WordPress.

All in One SEO Pack

Todo en uno SEO Pack optimiza su blog de WordPress para los motores de búsqueda.Algunas características clave incluyen:

  • Avanzada URLs amigables
  • Perfeccione la página de navegación – Enlaces
  • Incorporado en los plugins de API para que otros temas puedan tener acceso y ampliar la funcionalidad
  • Apoyo a la CMS WordPress instalaciones de estilo
  • Optimiza automáticamente el título para los motores de búsqueda

WP Super Cache

Super GT caché genera archivos HTML estáticos a partir de un blog de WordPress dinámico. Después de un archivo html que se genera, su servidor web que servirá de archivo en lugar de tramitación de la comparativamente más pesados y más caros WordPress scripts PHP.

Google XML Sitemaps

Google XML Sitemaps genera un mapa del sitio XML especial que ayudará a los motores de búsqueda como Google, Bing, Yahoo y Ask.com para indexar mejor tu blog. Con tal un mapa de sitio, es mucho más fácil para los rastreadores para ver la estructura completa de su sitio y recuperar de forma más eficiente. El plug-in compatible con todo tipo de WordPress páginas generadas, así como las URL personalizadas. Además notifica a todos los principales motores de búsqueda cada vez que cree un post sobre el nuevo contenido.

Akismet

Akismet comprueba sus comentarios contra el Akismet servicio web para ver si se ven como spam o no, y le permite revisar el correo no deseado que las capturas en “comentarios de su blog” pantalla de administración.

WP-DB-Backup

WP-DB-Backup le permite fácilmente acceder a su base de datos de los cuadros básicos de copia de seguridad de WordPress. También puedes realizar  copias de seguridad de otras tablas en la misma base de datos.

WP-PageNavi

WP-PageNavi añade una navegación más avanzados de paginación a su sitio de WordPress.

WordPress Automatic upgrade

Actualización automática de WordPress permite a un usuario actualizar automáticamente la instalación de WordPress a la última proporcionada por WordPress.org usando los 5 pasos que se indican en las instrucciones de actualización de WordPress. Se realiza automáticamente las copias de seguridad y proporciona enlaces para descargar.

cforms II

cforms ofrece la implementación práctica de múltiples formas de contacto, con  Ajax, impulsado a través de su blog o incluso en la misma página.

Broken Link Checker

Este complemento se hará un seguimiento de su blog en busca de enlaces rotos y hacerle saber si encuentra alguna. Algunas características clave incluyen:

  • Monitores de enlaces en los mensajes, páginas, la lista de enlaces, y los campos personalizados (opcional).
  • Detecta enlaces que no funcionan y las imágenes que faltan.
  • Le notifica en el escritorio si se encuentran.
  • También detecta enlaces redirigida.
  • Hace enlaces rotos pantalla de forma diferente en los mensajes (opcional).

FeedBurner FeedSmith

Este plugin detectará todas las formas de acceder a sus feeds (por ejemplo, o http://www.yoursite.com/feed/ http://www.yoursite.com/wp-rss2.php, etc), y reorientar a su FeedBurner feed para que pueda controlar todos los abonados posible. Se enviará los mensajes de tu fuente principal y, opcionalmente, sus comentarios también.

Fuente: webdesignledger.com