6.Trucos y Funciones

24
28 trucos, tips y funciones para WordPress WordPress, como gran herramienta para bloggers, se actualiza a menudo y así mismo aparecen nuevas funciones, nuevos trucos o tips que extienden un poco más las vastas funcionalidades de este poderoso CMS. Es por eso, que ya anteriormente había publicado una lista de 30 trucos, funciones y tips para WordPress y esta vez te traigo 28 trucos más, para que puedas modificar tu blog de WordPress a gusto. 1. Mover la barra de administración hacia abajo La barra de administración es una nueva característica añadida desde WordPress 3.1. Esta barra por aparece por defecto en la parte superior del navegador y muestra enlaces para entrar rápidamente a editar un artículo, crear uno nuevo, ingresar al panel de administración, etc. Si quieres mostrar esta barra en la parte inferior del navegador, solo debes pegar el siguiente código en el archivo functions.php de tu theme. 01 // mover barra de admin al fondo 02 function bajar_admin_ba r() { ?> 03 <style type="text/css"> 04 body { 05 margin-top: - 28px; 06 padding-bottom: 28px; 07 } 08 body.admin-bar #wphead { 09 padding- top: 0; 10 } 11 body.admin-bar #footer { 12 padding-bottom: 28px; 13 } 1

Transcript of 6.Trucos y Funciones

Page 1: 6.Trucos y Funciones

28 trucos, tips y funciones para WordPress

WordPress, como gran herramienta para bloggers, se actualiza a menudo y así mismo

aparecen nuevas funciones, nuevos trucos o tips que extienden un poco más las vastas

funcionalidades de este poderoso CMS. Es por eso, que ya anteriormente había publicado una

lista de 30  trucos, funciones y tips para WordPress y esta vez te traigo 28 trucos más, para que

puedas modificar tu blog de WordPress a gusto.

1. Mover la barra de administración hacia abajo

La barra de administración es una nueva característica añadida desde WordPress 3.1. Esta

barra por aparece por defecto en la parte superior del navegador y muestra enlaces para entrar

rápidamente a editar un artículo, crear uno nuevo, ingresar al panel de administración, etc.

Si quieres mostrar esta barra en la parte inferior del navegador, solo debes pegar el siguiente

código en el archivo functions.php de tu theme.

01 // mover barra de admin al fondo02 function bajar_admin_bar() { ?>03 <style type="text/css">04 body {05 margin-top: -28px;06 padding-bottom: 28px;07 }08 body.admin-bar #wphead {09 padding-top: 0;10 }11 body.admin-bar #footer {12 padding-bottom: 28px;13 }14 #wpadminbar {15 top: auto !important;16 bottom: 0;17 }18 #wpadminbar .quicklinks .menupop ul {19 bottom: 28px;20 }21 </style>22 <?php }23 // en el panel de administración24 add_action( 'admin_head', 'bajar_admin_bar' );25 // en el blog26 add_action( 'wp_head', 'bajar_admin_bar' );

2. Eliminar la barra de administración

Si lo que deseas es no mostrar por ningún motivo la barra de administración, solo debes

colocar el siguiente código en el archivo functions.php:

1 wp_deregister_script('admin-bar');

1

Page 2: 6.Trucos y Funciones

2 wp_deregister_style('admin-bar');3 remove_action('wp_footer','wp_admin_bar_render',1000);4 remove_action('init', 'wp_admin_bar_init');

3. Desbloquear botones útiles en el editor visual

El editor visual de WordPress tiene casi todos los botones necesarios para editar el contenido

de tu artículo, pero hay veces que requieres algunas opciones un poco más detalladas, como

estilos, tamaños de la fuente, etc.

Para lograr esto solo debes pegar el siguiente código en el archivo functions.php:

01 function habilitar_mas_botones($buttons) {02 $buttons[] = 'hr';03 $buttons[] = 'sub';04 $buttons[] = 'sup';05 $buttons[] = 'fontselect';06 $buttons[] = 'fontsizeselect';07 $buttons[] = 'cleanup';08 $buttons[] = 'styleselect';09 return $buttons;10 }11 add_filter("mce_buttons_3", "habilitar_mas_botones");

Con la anterior función se añade una tercera fila de botones en el editor incluyendo botones

para: incluir una línea horizontal, sub-indices, super-indices, seleccionar tipo de fuente, tamaño

de fuente, limpiar código y seleccionar estilos. Puedes añadir más estilos si quieres, aquí

la lista completa de botones disponibles.

4. Cambiar la fuente del editor

Si deseas cambiar el tipo de fuente con la que se muestra el texto en el editor visual de

WordPress, solo debes pegar el siguiente código en el archivo functions.php:

1 add_action( 'admin_head-post.php', 'cambiar_fuente_editor' );2 add_action( 'admin_head-post-new.php', 'cambiar_fuente_editor' );3  4 function cambiar_fuente_editor() { ?>

5<style type="text/css">#editorcontainer #content, #wp_mce_fullscreen { font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; }</style>

6 <?php }

Obviamente puedes cambiar la fuente  ’Georgia’ según sea tu gusto.

5. Permitir más etiquetas HTML en el editor HTML de WordPress

El editor HTML de WordPress no permite etiquetas HTML que no sean de XHTML 1.0. Este

código hace que el editor acepte más etiquetas, solo debes pegarlo en el archivo functions.php:

2

Page 3: 6.Trucos y Funciones

01 function cambiar_opciones_mce($initArray) {

02$ext = 'pre[id|name|class|style],iframe[align|longdesc| name|width|height|frameborder|scrolling|marginheight| marginwidth|src]';

03  04 if ( isset( $initArray['extended_valid_elements'] ) ) {05 $initArray['extended_valid_elements'] .= ',' . $ext;06 } else {07 $initArray['extended_valid_elements'] = $ext;08 }09  10 return $initArray;11 }12 add_filter('tiny_mce_before_init', 'cambiar_opciones_mce');

6. Hacer que tu artículo se vea mejor cuando se comparte en Facebook

Este código sirve para que cuando un usuario comparte tu artículo en Facebook, se vea lo

mejor posible, con imagen relacionada o imagen por defecto, enlace hacia web del autor, título,

descripción, etc.

Solo debes colocar el siguiente código en el archivo header.php de tu theme antes de la

etiqueta <?php wp_head(); ?> :

01 <?php02 $thumb = get_post_meta($post->ID,'_thumbnail_id',false);03 $thumb = wp_get_attachment_image_src($thumb[0], false);04 $thumb = $thumb[0];05 ?>06  07 <?php if(is_single() || is_page()) { ?>08 <meta property="og:type" content="article" />09 <meta property="og:title" content="<?php single_post_title(''); ?>" />10 <meta property="og:description" content="<?php11 while(have_posts()):the_post();12 $out_excerpt = str_replace(array("\r\n", "\r", "\n"), "", get_the_excerpt());13 echo apply_filters('the_excerpt_rss', $out_excerpt);14 endwhile; ?>" />15 <meta property="og:url" content="<?php the_permalink(); ?>"/>

16<meta property="og:image" content="<?php if ( $thumb[0] == null ) { echo catch_that_image(); } else { echo $thumb; } ?>" />

17 <?php } else { ?>18 <meta property="og:type" content="article" />19 <meta property="og:title" content="<?php bloginfo('name'); ?>" />20 <meta property="og:url" content="<?php bloginfo('url'); ?>"/>21 <meta property="og:description" content="<?php bloginfo('description'); ?>" />

22<meta property="og:image" content="<?php if ( $thumb[0] == null ) { echo catch_that_image(); } else { echo $thumb; } ?>" />

23 <?php } ?>

Y luego pegar el siguiente código en el archivo functions.php:

3

Page 4: 6.Trucos y Funciones

01 function catch_that_image() {02 global $post, $posts;03 $first_img = '';04 ob_start();05 ob_end_clean();06 $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);07 $first_img = $matches [1] [0];08  09 if(empty($first_img)){ //Defines a default image10 $first_img = get_bloginfo('stylesheet_directory')."/images/default_icon.jpg";11 }12 return $first_img;13 }

Aquí solo debes cambiar “default_icon.jpg” por la imagen que quieres que salga por defecto.

7. Acortar dirección de ingreso al Panel de Administración

Para hacer que la dirección de ingreso de usuarios al Panel de administración sea mas simple

solo debes poner el siguiente código en el archivo .htaccess que se encuentra en la carpeta raíz de tu blog:

1 RewriteRule ^login$ http://www.trazos-web.com/wp-login.php [NC,L]

Con este código ahora la dirección para entrar al formulario de ingreso será http://www.trazos-

web.com/loginen vez de http://www.trazos-web.com/wp-login.php. Obviamente debes cambiar

“www.trazos-web.com” por la dirección de tu blog.

8. Deshabilitar cambio de theme

Cuando creas un sitio en WordPress para un cliente, tal vez debas asegurarte que éste no

pueda cambiar el theme del blog. Para esto solo debes pegar el siguiente código en el

archivo functions.php:

1 add_action('admin_init', 'bloquear_theme');2 function bloquear_theme() {3 global $submenu, $userdata;4 get_currentuserinfo();5 if ($userdata->ID != 1) {6 unset($submenu['themes.php'][5]);7 unset($submenu['themes.php'][15]);8 }9 }

4

Page 5: 6.Trucos y Funciones

9. Deshabilitar trackbacks hacia artículos del mismo blog

Los trackbacks son un sistema de aviso a otros bloggers de que un artículo de ellos ha sido

enlazado desde nuestro artículo. El problema con esto viene cuando enlazas un artículo de tu

mismo blog, un trackback hacia ti mismo será mostrado en el artículo enlazado.

Para evitar esto, debes poner el siguiente código en el archivo functions.php:

1 function disable_self_ping( &$links ) {2 foreach ( $links as $l => $link )3 if ( 0 === strpos( $link, get_option( 'home' ) ) )4 unset($links[$l]);5 }6 add_action( 'pre_ping', 'disable_self_ping' );

10. Mostrar imagen miniatura de cualquier sitio

WordPress.com tiene un servicio llamado mShots, que te permite capturar una imagen en

miniatura de cualquier sitio. El siguiente código crea un shortcode para que puedas agregarlo

fácilmente a tus artículos. Solo debes pegarlo en el archivo functions.php:

01 function wpr_snap($atts, $content = null) {02 extract(shortcode_atts(array(03 "snap" => 'http://s.wordpress.com/mshots/v1/',04 "url" => 'http://www.trazos-web.com',05 "alt" => 'My image',06 "w" => '400', // ancho07 "h" => '300' // alto08 ), $atts));09  10 $img = '<img src="' . $snap . '' . urlencode($url) . '?w=' . $w . '&h=' . $h . '" alt="' . $alt . '"/>';11 return $img;12 }13  14 add_shortcode("snap", "wpr_snap");

y luego añadir el código del shortcode en la parte del artículo donde quieras que se muestre la imagen:

1 [snap url="http://www.trazos-web.com" alt="Descripción" w="400" h="300"]

Esto mostrará una captura en miniatura de Trazos Web de tamaño 400×300 pixéles.

11. Eliminar notificación de actualización para no administradores

Este código hace que las notificación de actualización de WordPress solo sean visibles por los

administradores del sitio. Copia y pega el siguiente código en el archivo functions.php:

5

Page 6: 6.Trucos y Funciones

1 global $user_login;2 get_currentuserinfo();3 if ($user_login !== "admin") {4 add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );5 add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );6 }

12. Paginación de artículos sin necesidad de un plugin

Este código crea una paginación normal, como lo haría el plugin WP-Pagenavi. Solo debes

pegar el siguiente código en el archivo functions.php:

01 function pagination($prev = '«', $next = '»') {02 global $wp_query, $wp_rewrite;

03$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] :$current = 1;

04 $pagination = array(05 'base' => @add_query_arg('paged','%#%'),06 'format' => '',07 'total' => $wp_query->max_num_pages,08 'current' => $current,09 'prev_text' => __($prev),10 'next_text' => __($next), 'type' => 'plain'11 );12 if( $wp_rewrite->using_permalinks() )

13$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg('s', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );

14 if( !empty($wp_query->query_vars['s']) )

15$pagination['add_args'] = array( 's' => get_query_var( 's' ) ); echopaginate_links( $pagination );

16 };

Ahora solo debes añadir la función pagination() al loop de WordPress así:

1 <?php if ( have_posts() ) : ?>2 <?php while ( have_posts() ) : the_post(); ?>3 // aquí va el contenido del artículo4 <?php endwhile; ?>5 <div class="pagination"><?php pagination('»', '«'); ?></div>6 <?php endif; ?>

También puedes modificar el estilo de la paginación con las siguiente clases de CSS que nos da WordPress:

1 .page-numbers { font-size: 15px; }2 .page-numbers.current { color: #222; }3 .page-numbers .dots { letter-spacing: 1px }4 a.page-numbers { font-size: 14px; color: #3888ff; }

6

Page 7: 6.Trucos y Funciones

13. Eliminar contenido de wp_head()

Este código te ayuda a eliminar algún código basura, inútil que se inserta automáticamente en

nuestra cabecera de WordPress. Solo pega el siguiente código en el archivo functions.php:

1 remove_action('wp_head', 'rsd_link');2 remove_action('wp_head', 'wp_generator');3 remove_action('wp_head', 'feed_links', 2);4 remove_action('wp_head', 'index_rel_link');5 remove_action('wp_head', 'wlwmanifest_link');6 remove_action('wp_head', 'feed_links_extra', 3);7 remove_action('wp_head', 'start_post_rel_link', 10, 0);8 remove_action('wp_head', 'parent_post_rel_link', 10, 0);9 remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);

14. Recortar el tamaño del título

Si solo quieres mostrar algunos caracteres del título del artículo, debes hacer lo siguiente:

Pegar esto en el archivo functions.php:

1 function ODD_title($char) {2 $title = get_the_title($post->ID);3 $title = substr($title,0,$char);4 echo $title;5 }

Y luego esto donde quieres que vaya el título recortado. Aquí se muestran solo 20 caracteres. Este código debe ir dentro del Loop de WordPress:

1 <?php ODD_title(20); ?>

15. Permitir a los colaboradores subir archivos

Como medida de seguridad WordPress no permite que los colaboradores puedan subir

archivos al blog. Pero si aún así deseas que ellos puedan hacerlo, aquí te dejo el código

necesario que debes pegar en el archivofunctions.php:

1if ( current_user_can('contributor') &amp;amp;amp;&amp;amp;amp; !current_user_can('upload_files') )

2 add_action('admin_init', 'allow_contributor_uploads');3 function allow_contributor_uploads() {4 $contributor = get_role('contributor');5 $contributor->add_cap('upload_files');

7

Page 8: 6.Trucos y Funciones

16. Categorizar y etiquetar artículos automáticamente

Con este código puedes hacer que al guardar un artículo automáticamente vaya con tal

etiqueta o con tal categoría. No olvides modificar “nuevo tag” o “Alguna Categoría” por el

nombre de la categoría y/o el nombre de la etiqueta. Estas ya deben haber sido creadas

anteriormente. Solo pega esto en el archivo functions.php:

01 <?php02 add_action( 'wp_insert_post', 'update_post_terms' );03 function update_post_terms( $post_id ) {04 if ( $parent = wp_is_post_revision( $post_id ) )05 $post_id = $parent;06 $post = get_post( $post_id );07 if ( $post->post_type != 'post' )08 return;09 // add a tag10 wp_set_post_terms( $post_id, 'nuevo tag', 'post_tag', true );11 // add a category12 $categories = wp_get_post_categories( $post_id );13 $newcat = get_term_by( 'name', 'Alguna Categoría', 'category' );14 array_push( $categories, $newcat->term_id );15 wp_set_post_categories( $post_id, $categories );16 }17 ?>

17. Utilizar por defecto el acortador de URLs de Google (goo.gl)

Para utilizar este acortador solo debes incluir lo siguiente en el archivo functions.php:

01 function googl_shortlink($url, $post_id) {02 global $post;03 if (!$post_id && $post) $post_id = $post->ID;04  05 if ($post->post_status != 'publish')06 return "";07  08 $shortlink = get_post_meta($post_id, '_googl_shortlink', true);09 if ($shortlink)10 return $shortlink;11  12 $permalink = get_permalink($post_id);13  14 $http = new WP_Http();15 $headers = array('Content-Type' => 'application/json');

16$result = $http->request('https://www.googleapis.com/urlshortener/v1/url',array( 'method' => 'POST', 'body' => '{"longUrl": "' . $permalink . '"}','headers' => $headers));

17 $result = json_decode($result['body']);18 $shortlink = $result->id;19  

8

Page 9: 6.Trucos y Funciones

20 if ($shortlink) {21 add_post_meta($post_id, '_googl_shortlink', $shortlink, true);22 return $shortlink;23 }24 else {25 return $url;26 }27 }28  29 add_filter('get_shortlink', 'googl_shortlink', 9, 2);

Y luego añadir el siguiente código en donde quieras utilizar la URL corta de tu artículo:

1 echo "URL corta: " . wp_get_shortlink();

18. Redireccionar la búsqueda si solo hay un resultado

Este código redirecciona al primer artículo resultado de una búsqueda, si solo hay un artículo

en la búsqueda. Pega esto en el archivo functions.php:

1 add_action('template_redirect', 'single_result');2 function single_result() {3 if (is_search()) {4 global $wp_query;5 if ($wp_query->post_count == 1) {6 wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );7 }8 }9 }

19. Editar el enlace de registro de WordPress

Si deseas cambiar el texto del enlace de registro, puede utilizar este código para personalizarlo.

Solo debes ponerlo en el archivo functions.php y editar el texto ‘Únete, o lo que quieras’:

1 add_filter( 'gettext', 'wpc_register_anchor' );2 add_filter( 'ngettext', 'wpc_register_anchor' );3 function wpc_register_anchor( $translated ) {4 $translated = str_ireplace( 'Register', 'Únete, o lo que quieras', $translated );5 return $translated;6 }

20. Mostrar en el panel de administración el número total de palabras publicadas en el blog

Este código muestra el número total de palabras publicadas en los artículos, justo debajo de las

estadísticas de número de artículos, categorías, páginas y etiquetas. Solo pega el siguiente

código en el archivo functions.php:

9

Page 10: 6.Trucos y Funciones

01 function post_word_count() {02 $count = 0;03 $posts = get_posts( array(04 'numberposts' => -1,05 'post_type' => array( 'post', 'page' )06 ));07 foreach( $posts as $post ) {08 $count += str_word_count( strip_tags( get_post_field( 'post_content', $post->ID )));09 }10 $num = number_format_i18n( $count );11 $text = _n( 'Palabra', 'Palabras', $num );12 echo "<tr><td class='first b'>{$num}</td><td class='t'>{$text}</td></tr>";13 }14 add_action( 'right_now_content_table_end', 'post_word_count');

21. Detectar el navegador del lector

Este código puede ser útil para mostrar un estilo diferente o algo diferente en cada navegador.

Solo debes poner el código en el archivo functions.php:

01 function wpc_browser_det($classes) {02 global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome,$is_iphone;03 if($is_lynx) $classes[] = 'lynx';04 elseif($is_gecko) $classes[] = 'gecko';05 elseif($is_opera) $classes[] = 'opera';06 elseif($is_NS4) $classes[] = 'ns4';07 elseif($is_safari) $classes[] = 'safari';08 elseif($is_chrome) $classes[] = 'chrome';09 elseif($is_IE) {10 $classes[] = 'ie';

11if(preg_match('/MSIE ([0-9]+)([a-zA-Z0-9.]+)/', $_SERVER['HTTP_USER_AGENT'],$browser_version))

12 $classes[] = 'ie'.$browser_version[1];13 } else $classes[] = 'unknown';14 if($is_iphone) $classes[] = 'iphone';15 if ( stristr( $_SERVER['HTTP_USER_AGENT'],"mac") ) {16 $classes[] = 'osx';17 } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"linux") ) {18 $classes[] = 'linux';19 } elseif ( stristr( $_SERVER['HTTP_USER_AGENT'],"windows") ) {20 $classes[] = 'windows';21 }22 return $classes;23 }24 add_filter('body_class','wpc_browser_det');

Y luego poner lo siguiente en el archivo header.php:

1 <body <?php body_class(); ?>>

10

Page 11: 6.Trucos y Funciones

22. Limitar la búsqueda solo a los títulos de los artículos

Con este código el buscador solo buscará la palabra clave en los título de los artículos. Pégalo

en el archivofunctions.php:

01 function __search_by_title_only( $search, &$wp_query )02 {03 if ( empty($search) )04 return $search;05 $q =&amp;amp;amp; $wp_query->query_vars;06 // wp-includes/query.php line 2128 (version 3.1)07 $n = !empty($q['exact']) ? '' : '%';08 $searchand = '';09 foreach( (array) $q['search_terms'] as $term ) {10 $term = esc_sql( like_escape( $term ) );11 $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";12 $searchand = ' AND ';13 }14 $term = esc_sql( like_escape( $q['s'] ) );

15if ( empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] )

16 $search .= " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";17 if ( !empty($search) ) {18 $search = " AND ({$search}) ";19 if ( !is_user_logged_in() )20 $search .= " AND ($wpdb->posts.post_password = '') ";21 }22 return $search;23 }24 add_filter( 'posts_search', '__search_by_title_only', 10, 2 );

23. Generar automáticamente el meta description de un artículo

Para generar automáticamente el meta description de un artículo solo debes colocar el

siguiente código en el archivo functions.php:

01 function trw_metadesc() {02 global $post;03 if (!is_single()) { return; }04 $meta = strip_tags($post->post_content);05 $meta = strip_shortcodes($post->post_content);06 $meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);07 $meta = substr($meta, 0, 125);08 echo "<meta name='description' content='$meta' />";09 }10 add_action('wp_head', 'trw_metadesc');

11

Page 12: 6.Trucos y Funciones

24. Mostrar mensaje personalizado después de registro

Con este código puedes mostrar un mensaje personalizado después del registro de un nuevo

usuario. Solo debes pegar lo siguiente en el archivo functions.php:

01 add_action('register_form', 'trw_mensaje_registro');02 function trw_mensaje_registro() {03 $html = '04 <div style="margin:10px 0;border:1px solid #e5e5e5;padding:10px">05 <p style="margin:5px 0;">06 AQUÍ VA EL MENSAJE07 </p>08 </div>';09 echo $html;10 }

25. Acortar la dirección de búsqueda

Este pequeño código te ayuda a crear una nueva dirección para las búsquedas. Pasa de

“trazos-web.com/?s=términoabuscar” a “trazos-web.com/buscar/términoabuscar“. Solo pega

esto en el archivo functions.php:

1 function trw_search_url_rule() {2 if ( is_search() && !empty($_GET['s'])) {3 wp_redirect(home_url("/buscar/") . urlencode(get_query_var('s')));4 exit();5 }6 }7 add_action('template_redirect', 'trw_search_url_rule');

26. Obtener el número de visitas de un artículo sin plugin

Con este código puedes mostrar el número de veces que ha sido visto un artículo. Solo debes

hacer lo siguiente:

Pegar este código en el archivo functions.php:

01 function getPostViews($postID){02 $count_key = 'post_views_count';03 $count = get_post_meta($postID, $count_key, true);04 if($count==''){05 delete_post_meta($postID, $count_key);06 add_post_meta($postID, $count_key, '0');07 return "0 View";08 }09 return $count.' Views';10 }

12

Page 13: 6.Trucos y Funciones

11 function setPostViews($postID) {12 $count_key = 'post_views_count';13 $count = get_post_meta($postID, $count_key, true);14 if($count==''){15 $count = 0;16 delete_post_meta($postID, $count_key);17 add_post_meta($postID, $count_key, '0');18 }else{19 $count++;20 update_post_meta($postID, $count_key, $count);21 }22 }

Luego pegas esto en el archivo single.php, en cualquier parte dentro del Loop de WordPress:

1 <?php setPostViews(get_the_ID()); ?>

Y luego pegas el siguiente código en el archivo single.php en donde quieras mostrar el número de visitas del artículo:

1 <?php echo getPostViews(get_the_ID()); ?>

27. Mostrar los artículos más visitados

Utilizando el código mostrado en el punto 26 y añadiéndole estas líneas, podemos mostrar una lista de los artículos más visitados. Solo debes poner el siguiente código en donde quieres que se muestre esta lista:

1 <?2 query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC');3 if (have_posts()) : ?>4 <ul>5 <?php while (have_posts()) : the_post(); ?>

6<li><a href="<?php echo the_permalink(); ?>" title="Enlace Permanente a <?php echo the_title() ?> (<?php echo getPostViews($post->ID); ?> visitas)"><?php echothe_title() ?></a></li>

7 <?php endwhile;?>8 </ul>9 <?php endif; ?>

28. Mostrar número de visitas de cada artículo en listado de artículos del Panel de Administración

Con este código, más el código mostrado en el punto 26, podrás agregar una columna al

listado de artículos del Panel de Administración donde se muestre el número de veces que ha

sido visitado un artículo: Solo debes pegar este código en el archivo functions.php:

01 add_filter('manage_posts_columns', 'posts_column_views');

13

Page 14: 6.Trucos y Funciones

02 add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);03 function posts_column_views($defaults){04 $defaults['post_views'] = __('Visitas');05 return $defaults;06 }07 function posts_custom_column_views($column_name, $id){08 if($column_name === 'post_views'){09 echo getPostViews(get_the_ID());10 }11 }

Buscar en el Codex de WordPress desde la portada de tu WebVale que este truco es un pelín friki, pero seguro que para blogs como Ayuda WordPress tiene mucho

sentido, cuando estás leyendo cualquier entrada, hacer una búsqueda en la Biblia de WordPress,

el Codex, y documentarse más.

En fin, si te animas con este truco, que la gracia lo tiene en que puedes personalizarlo – por supuesto – a

tu gusto y buscar donde te apetezca, solo tendrás que añadir (como siempre) un pequeño código al plugin

de funciones o fichero functions.php de tu tema activo para añadir un estupendo y funcional buscador

adicional, que te devolverá resultados del Codex de WordPress.

El código sería algo así:

function wp_codex_search_form() {

14

Page 15: 6.Trucos y Funciones

global $wp_admin_bar, $wpdb;

if ( !is_super_admin() || !is_admin_bar_showing() )

return;

$codex_search = '

<form style="margin: 5px 0 0;" action="http://wordpress.org/search/do-search.php" method="get">

<input class="adminbar-input" maxlength="100" name="search" size="13" type="text" value="' . __( 'Busca algo en el Codex', 'textdomain' ) . '" />

<button class="adminbar-button">

<span>Go</span>

</button>

</form>

';

/* Agrega el elemento de menú */

$wp_admin_bar->add_menu( array( 'id' => 'codex_search', 'title' => __( 'Buscar en el Codex', 'textdomain' ), 'href' => FALSE ) );

$wp_admin_bar->add_menu( array( 'parent' => 'codex_search', 'title' => $codex_search, 'href' => FALSE ) );

}

add_action( 'admin_bar_menu', 'wp_codex_search_form', 1000 );

La función add_menu() utilizada, que ya hemos visto en otros ejemplos, acepta algunos parámetros que

también puedes adecuar a tus gustos y necesidades:

title – por defecto false href – por defecto false parent – por defecto false – facilita el valor de ID de un submenú del menú id – por defecto es un valor de título saneado. meta – pro defecto false – array con cualquiera de las siguientes opciones: array( ‘html’ => ”, ‘class’ =>

”, ‘onclick’ => ”, target => ” );

15