10 Códigos útiles para WordPress II

Esta la segunda parte con 10 nuevos códigos útiles para WordPress (ver parte I) para prosperar la usabilidad, estética o funcionamiento de tu blog con WordPress.

1. Agregar un campo para Twitter al perfil del autor

codigo-twitter-wordpress

Cuando te registras o bien registrar a un nuevo autor / usuario en WordPress hay campos para información diversa (msn, google talk, e-mail, etc), sin embargo dejan fuera a Twitter, muy popular entre bloggers. Pero gracias a Joost de Valk puede agregar un campo para esta información de forma sencilla.

Agrega la siguiente función al archivo functions.php de tu tema:

function add_twitter_contactmethod(  dólares americanos contactmethods ) // Añade Twitter$ contactmethods['twitter'] = 'Twitter';// Borra Yahoo IM unset($ contactmethods['yim']); return $ contactmethods;add_filter('user_contactmethods','add_twitter_contactmethod',10,1);

El código se puede añadir al archivo functions.php de nuestro tema y ya puedes agregar tu Twitter a tu perfil desde el panel.

Ahora ¿De qué manera mostrarlo? En tu fichero author.php o bien archives.php si el primero no existe, añade lo siguiente:

Donde desees que aparezca. Por si no haz actualizado, este hook marcha solo en la versión 2.9 o bien superior.

2. Rehusar de forma automática los comentarios que contengan ciertas palabras

WordPress tiene un filtro nativo de palabras, ip’s o bien url’s, desgraciadamente, incluso en el momento en que un comentario coincide con estas limitaciones, WP lo deja para moderación o en la carpeta de spam ocupando espacio. Para rehusar definitivamente ciertas palabras u oraciones spam, el próximo script es buena alternativa:

function in_comment_post_like( dólares americanos string,  dólares americanos array) foreach( dólares americanos array as $ ref)  if(strstr($ string,  dólares americanos ref))  return true;  return false;function drop_bad_comments() if (!empty( dólares americanos _POST['comment'])) $ post_comment_content =  dólares americanos _POST['comment']; dólares americanos lower_case_comment = strtolower($ _POST['comment']); dólares americanos bad_comment_content = array('viagra','hydrocodone','hair loss','[url=http','[link=http','xanax','tramadol','russian girls','russian brides','lorazepam','adderall','dexadrine','no prescription','oxycontin','without a prescription','sex pics','family incest','online casinos','online dating','cialis','best forex','amoxicillin');if (in_comment_post_like( dólares americanos lower_case_comment, $ bad_comment_content)) $ comment_box_text = wordwrap(trim( dólares americanos post_comment_content), 80, "n ", true);$ txtdrop = fopen('/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt', 'a');fwrite($ txtdrop, " ----n [COMMENT] = " $ post_comment_content "n ----n");fwrite( dólares americanos txtdrop, " [SOURCE_IP] = "  dólares americanos _SERVER['REMOTE_ADDR'] " @ " date("F j, Y, g:i a") "n");fwrite( dólares americanos txtdrop, " [USERAGENT] = "  dólares americanos _SERVER['HTTP_USER_AGENT'] "n");fwrite( dólares americanos txtdrop, " [REFERER ] = " $ _SERVER['HTTP_REFERER'] "n");fwrite($ txtdrop, " [FILE_NAME] = "  dólares americanos _SERVER['SCRIPT_NAME'] " - [REQ_URI] = " $ _SERVER['REQUEST_URI'] "n");fwrite( dólares americanos txtdrop, '---------'."n");header("HTTP/1.1 406 Not Acceptable");header("Status: cuatrocientos seis Not Acceptable");header("Connection: Close");wp_die( __('bang bang.') );add_action('init', 'drop_bad_comments');

Coloca el código en el archivo functions.php de tu tema y añade tus propios términos a rechazar en el array bad_comment_content.

Vía: WPRecipes

3. Emplear un logotipo propio en la pantalla de acceso al panel de control

codigo-logo-propio

Un detalle más estético que útil, mas que puede entregar un aspecto más profesional, especialmente cuando dejamos el registro de usuarios. El código a poner en el functions.php de tu tema es:

function logo_login() echo '';add_action('login_head', 'logo_login');

Donde debes sustituir:

http://sitio.com/logo.png

Por la propia url de tu logotipo. Eso sí, probablemente deberás crear uno singular para esta pantalla, con dimensiones aproximadas de 330px 70px y con fondo transparente.

4. Retrasar unos minutos la publicación de los posts en el feed rss

¿Te ha pasado que publicas un blog post, y una vez en línea lo corriges y en el feed los fallos se mantienen? Esto lo puedes eludir si atrasas unos minutos la publicación de tus posts en el feed, por servirnos de un ejemplo, 10 minutos, tiempo suficiente si haces correcciones.

El atraso puedes conseguirlo agregando en tu functions.php el siguiente código:

function publish_later_on_feed($ where) global  dólares americanos wpdb;if ( is_feed() ) // La hora en WP-format dólares americanos now = gmdate('Y-m-d H:i:s');// Minutos a aguardar$ wait = '10'; // en números enteros// 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  dólares americanos where dólares americanos where= " AND TIMESTAMPDIFF($ device, $ wpdb->posts.post_date_gmt, '$ now') >  dólares americanos wait ";return $ where;add_filter('posts_where', 'publish_later_on_feed');

Modificando el valor de la variable “wait“puedes cambiar el tiempo de espera.

vía: WP Beginner

5. Crear un botón de retweet con tu propia url corta

codigo-retweet-url

Si deseas poner un botón de retweet donde el enlace corto sea con tu propio dominio, este pequeño script te resulta interesante.

1. Crea los links cortos con nuestro tutorial: URL’s cortas y estéticas en WordPress. (haciendo el paso uno es suficiente)

2. Donde quieras mostrar esta invitación a “retwitear”, por ejemplo ingle.php, agrega lo siguiente:

Haz retweet

El cual es un enlace que lleva a twitter con el título del post, más tu propio url corta. Sin plugin ni complicaciones podemos monitorear mejor los RT’s a nuestros artículos y darles un toco más personal.

6. Mostar últimos comentarios con avatar

Esta función te permite obtener los últimos comentarios publicados en tu blog así como el avatar del autor. Basta agregar el próximo código a cualquier una parte de la plantilla donde deseas que se muestren, por poner un ejemplo en sidebar.php.

    '; foreach ( dólares americanos comments as $ comment) '.get_the_title( dólares americanos comment->comment_post_ID).'">'; echo '
  • '; echo '
    '; echo $ url; echo get_avatar( dólares americanos comment->comment_author_email, $ img_w); echo '
    '; echo '
    Par: '; echo dólares americanos url; echo $ comment->comment_author; echo '
    '; echo '
  • '; echo '
';?>

Modificando number=5 en el comienzo del código, podemos determinar la cantidad de comentarios a mostrar.

Vía: WPRecipes

7. Deshabilitar absolutamente el html en los comentarios

WordPress permite un tanto de html para backlinks, citas y algo de formato, en temas donde los lectores conocen este lenguaje va bien, mas en blog con temáticas poco afines al código, se deja una puerta abierta al spam.

Si por esta o bien otra razón deseas deshabilitar el html completamente en los comentarios, prueba agregando el siguiente código de theblog en el functions.php de tu theme:

// This will occur when the comment is postedfunction plc_comment_post(  dólares americanos incoming_comment ) // convert everything in a comment to display literally dólares americanos incoming_comment['comment_content'] = htmlspecialchars( dólares americanos incoming_comment['comment_content']);// the one exception is single quotes, which cannot be #039; because WordPress marks it as spam$ incoming_comment['comment_content'] = str_replace( "'", ''',  dólares americanos incoming_comment['comment_content'] );return(  dólares americanos incoming_comment );// This will occur before a comment is displayedfunction plc_comment_display( $ comment_to_display ) // Put the single quotes back in$ comment_to_display = str_replace( ''', "'",  dólares americanos comment_to_display );return  dólares americanos comment_to_display;add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);add_filter( 'comment_text', 'plc_comment_display', '', 1);add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);

El resultado va a ser tener comentarios en texto plano.

8. Enseñar las categorías como una cortina desplegable.

codigo-categorias-wordpress

Una forma diferente y compacta de presentar las categorías.

])>#", "", $ select);echo dólares americanos select;?>

Puedes agregarlo a tu fichero sidebar.php donde desees que aparezca.

vía: WP Beginner

9. Aumenta el tamaño de los resúmenes de tus posts

Si empleas un theme estilo gaceta u otro, donde emplees la función de resumen o “leer más” automática, puedes acrecentar las cincuenta y cinco palabras por defecto, por la cantidad de palabras que desees con la próxima función:

// Tamaño del resumenfunction new_excerpt_length($ length) return 100; //número de palabras por resumenadd_filter('excerpt_length', 'new_excerpt_length');

Agregandola en tu fichero functions.php. Mudando “100”, por la cantidad de palabras por resumen deseado.

10. Emplear siempre la última versión de jQuery hospedada en Google Code

codigo-jqueryjQuery acostumbra a usarse tanto en el diseño como en la parte operativa de un sitio web, llamándolo desde WordPress; sin embargo, WP suele tardar en incorporar la última versión. Con el próximo código siempre y en toda circunstancia vas a tener la versión más reciente de jQuery hospedado en Google Code:

if( !is_admin()) wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, ''); wp_enqueue_script('jquery');

Vía: WPRecipes