Imagen destacada

Imagen destacada

Asignar una imagen destacada para cada post en WoprdPress es una tarea sencilla, pero si escribes mucho todos los días es una tarea que sin duda alguna te quitará mucho tiempo, hay que subir la imagen, insertarla en el post y después asignarla como imagen destacada en caso de que sea la misma.

La siguiente función nos va a facilitar y acelerar el proceso para llevar a cabo esta tarea, ya que la imagen destacada será asignada automáticamente con la primer imagen que subamos a un post.

Abre tu archivo de funciones y pega el siguiente código:

function autoset_featured() {
	global $post;
	$already_has_thumb = has_post_thumbnail($post->ID);
	if (!$already_has_thumb)  {
		$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
		if ($attached_image) {
			foreach ($attached_image as $attachment_id => $attachment) {
				set_post_thumbnail($post->ID, $attachment_id);
			}
		}
	}
}
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

Aunque existen otras alternativas como plugins para esta tarea, me parece que esta función es la mejor opción para asignar una imagen destacada automáticamente en WordPress.

Sin acceso a wp-admin

Sin acceso a wp-admin

Si necesitas bloquear a todos los usuarios menos al administrador el acceso a la administración de WordPress la siguiente función hace exactamente eso, redirecciona todos los usuarios a la página principal y solo permite al administrador entrar al wp-admin de tu instalación de WordPress.

Abre tu archivo de funciones y pega el siguiente código.

add_action( 'init', 'blockusers_wps_init' );
	function blockusers_wps_init() {
		if ( is_admin() && ! current_user_can( 'administrator' ) ) {
				wp_redirect( home_url() );
				exit;
		}
	}

Si tienes un blog o web con muchos usuarios pero no quieres que entren a la administración para nada, esta es una buena opción que te permite enviarlos directamente a portada y que nunca puedan entrar a la administración o wp-admin, solo el administrador o administradores tendrán acceso al Escritorio de WordPress.

Usuarios Twitter Wordpress

Usuarios Twitter WordPress

Si en tus publicaciones enlazas mucho a usuarios de Twitter como referencia, para darles créditos o porque son tus amigos, se puede convertir en una tarea extra el tener que estar creando enlaces una y otra ves para enlazar usuarios de Twitter en tu contenido y esto podemos solucionarlo con una pequeña función.

La idea es que solamente escribas el nombre de usuario, por ejemplo el mío que es @polle y automáticamente se convierta a un enlace directo al perfil de Twitter de ese usuario.

Enlazar usuarios de Twitter automáticamente

Tienes que abrir el archivo functions.php de tu tema y agregar el siguiente código.

function content_twitter_mention($content) {
	return preg_replace('/([^a-zA-Z0-9-_&])@([0-9a-zA-Z_]+)/', "$1<a href="http://twitter.com/$2" target="_blank" rel="nofollow">@$2</a>", $content);
}

add_filter('the_content', 'content_twitter_mention');   
add_filter('comment_text', 'content_twitter_mention');

Después de tener esta función, mi usuario en Twitter @polle, ya aparece con enlace y puedes darle click para seguirme. :)

Sencillo y bastante práctico para quien hace menciones de usuarios en Twitter.

URL en comentarios

URL en comentarios

No se si lo habrán notado, pero aquí en Noticias WordPress ya no se puede incluir una URL al dejar un comentario y lo hice por varias razones que comento a continuación.

La principal es que evitamos en gran medida el spam generado por robots, esos que están rastreando campos de URL por toda la web para dejar su comentario con enlaces de spam.

La segunda es similar, pero con personas. También van de blog en blog dejando comentarios para poner la URL de su web en los comentarios e intentar ganar más público o tráfico. Son aquellos que solo comentan "Que buen post" y no aportan absolutamente nada, pero si dejan su URL a ver si consiguen algo.

Creo que es mejor crear una conversación sana, conocer a tus lectores y debí conocer sus sitios o demás información que puede ser de interés mutuo.

¿Quieres quitar el campo de URL en los comentarios de WordPress?

Es muy sencillo y puedes hacerlo con una pequeña función.

Solo tienes que abrir el archivo funciones de tu tema y pegar el siguiente código.

// Remover el campo URL de comentarios
add_filter('comment_form_default_fields', 'url_filtered');
 function url_filtered($fields){
   if(isset($fields['url']))
   unset($fields['url']);
   return $fields;
 }
// Remover el campo URL de comentarios

Con eso se elimina el campo URL de los comentarios para evitar spam y comentarios falsos o sin aporte alguno.

¿Consideras necesario tener URL en los comentarios de un blog?

Si tienes un sitio web con el registro de usuarios abierto, pero los usuarios no tienen nada que hacer en el escritorio o Dashboard en WordPress, con esl siguiente código puedes ocultar la barra de adminisración a todos los usuarios menos al administrador.

El siguiente código tiene que ir en el archivo de funciones de tu tema y con solo ponerlo ahí se cumple el objetivo.

if (!current_user_can('administrator')) :
  show_admin_bar(false);
endif;

¿En alguno de tus proyectos tienes registro de usuarios y la barra de administración era un problema para ti?

Esta puede que no sea una necesidad como tal, pero puede que si y te sea útil para cualquiera de tus proyectos o trabajos para un cliente. La idea es simple, poder utilizar un email en lugar de un nombre de usuario para entrar a la administración de WordPress.

la siguiente función hará exactamente eso, permitirte entrar a la administración de WordPress utilizando un email y solo tienes que pegar el siguiente código en tu archivo functions.php, guardar los cambios y probar el resultado.

Función para entrar a WordPress utilizando un correo electrónico

function login_with_email_address($username) {
	$user = get_user_by_email($username);
	if(!empty($user->user_login))
		$username = $user->user_login;
	return $username;
}
add_action('wp_authenticate','login_with_email_address');

Después de pegar el código en tus funciones y guardar los cambios, prueba el acceso por medio de email a WordPress y comenta si te funciona. A veces los usuarios olvidan su nombre de usuario, pero su mail lo recuerdan "casi" siempre.

Como puedes apreciar en la parte superior derecha en la barra de administración de WordPress, se encuentra un pequeño menú al poner el mouse sobre el logotipo de WordPress y seguramente no quieres tenerlo ahí por diferentes motivos. A continuación puedes ver la función de WordPress para remover ese menú con todo su contenido.

El menú de WordPress en la barra de administración viene con los siguientes enlaces.

- Sobre WordPress
- WordPress.org
- Documentación
- Foros de soporte
- Sugerencias

Si quieres quitar ese menú y todos los enlaces, solo tienes que agregar una pequeña función y tienes que hacerlo en el archivo functions.php de tu tema para WordPress.

Abre tu archivo de funciones, pega el siguiente código y guarda los cambios.

function nwp_admin_bar() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
    $wp_admin_bar->remove_menu('about');
    $wp_admin_bar->remove_menu('wporg');
    $wp_admin_bar->remove_menu('documentation');
    $wp_admin_bar->remove_menu('support-forums');
    $wp_admin_bar->remove_menu('feedback');
    $wp_admin_bar->remove_menu('view-site');
}
add_action( 'wp_before_admin_bar_render', 'nwp_admin_bar' );

Con eso desaparece por completo el menú de WordPress en la barra de administración de WordPress. Sencillo pero efectivo, tanto para uso personal o como detalle para nuestros clientes al entregarle un proyecto.

Entre menos opciones, mejor.

Ya vimos como cambiar el logotipo del login de WordPress y a continuación puedes ver como cambiar el enlace que tiene ese logotipo por la dirección URL que quieras.

El código que necesitamos para esta función es el siguiente.

add_filter( 'login_headerurl', 'my_custom_login_url' );
function my_custom_login_url($url) {
	return 'http://www.tublog.com/';
}

Tienes que agregarlo al archivo functions.php de tu tema para WordPress y necesitas cambiar la dirección a tu blog o el enlace que quieras utilizar en el logotipo.

Con eso ya tienes un enlace directo a tu portada en caso de no entrar a la administración. Mucho mejor, sobre todo cuando se trata de un proyecto para alguno de tus clientes.

Si te dedicas al desarrollo de blogs o sitios en WordPress, seguramente te gusta entregarle a tus clientes sus proyectos lo mejor posible y si no es así, deberías hacerlo.

A continuación vamos a ver como utilizar el logotipo de una empresa, marca o producto en el panel de acceso a la administración de WordPress, un pequeño detalle que tus clientes agradecerán.

Lo que buscamos es sencillo, simplemente reemplazar el logotipo de WordPress en el login de la administración y se hace con una pequeña función.

Tenemos que agregar el siguiente código a nuestro archivo functions.php del tema de WordPress que estemos utilizando.

function custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/tulogo.jpg) !important; }
    </style>';
}
add_action('login_head', 'custom_login_logo');

Con eso el acceso a la administración a WordPress tendrá la imagen deseada. Muy práctico para entregarle un proyecto a tus clientes con la imagen de su empresa, algo mucho mejor y más personalizado. Otra opción es si tu proyecto web es para múltiples usuarios, con este acceso se identifica mejor en donde se encuentran.

Yo en lo personal los tengo así porque me gusta, aunque sea el único con acceso a la administración. ¿Y tú?

Ya vimos como quitar la pestaña "Opciones de pantalla" de la administración en WordPress y surgieron dudas con respecto a la pestaña "Ayuda". A continuación puedes ver la función de WordPress que te permite ocultar la pestaña de Ayuda.

Tiene sentido para muchos, ya que para la gran mayoría de tus clientes cuando les entregas un proyecto, no es necesario tener esa pestaña de ayuda en la administración. Con un sencillo código se puede ocultar esa pestaña y es de la siguiente manera.

Tienes que agregar el siguiente código al archivo functions.php de tu tema de WordPress.

Remover la pestaña de “Ayuda” en WordPress

function hide_help() {
    echo '<style type="text/css">
            #contextual-help-link-wrap { display: none !important; }
          </style>';
}
add_action('admin_head', 'hide_help');

Con ese código se oculta la pestaña de Ayuda en la administración de WordPress por medio de CSS. Solo recuerda las funciones que utilices, suele suceder que después de un tiempo se quiere lo contrario y no nos acordamos que fuimos nosotros los que quitamos esa opción en un principio.