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.
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.
Para lograr esto solo debes pegar el siguiente código en el archivo functions.php:
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.
Obviamente puedes cambiar la fuente ’Georgia’ según sea tu gusto.
Solo debes colocar el siguiente código en el archivo header.php de tu theme antes de la etiqueta <?php wp_head(); ?> :
Y luego pegar el siguiente código en el archivo functions.php:
Aquí solo debes cambiar “default_icon.jpg” por la imagen que quieres que salga por defecto.
Con este código ahora la dirección para entrar al formulario de ingreso será http://www.trazos-web.com/login en vez de http://www.trazos-web.com/wp-login.php. Obviamente debes cambiar “
Para evitar esto, debes poner el siguiente código en el archivo functions.php:
y luego añadir el código del shortcode en la parte del artículo donde quieras que se muestre la imagen:
Esto mostrará una captura en miniatura de Trazos Web de tamaño 400×300 pixéles.
Ahora solo debes añadir la función pagination() al loop de WordPress así:
También puedes modificar el estilo de la paginación con las siguiente clases de CSS que nos da WordPress:
Pegar esto en el archivo functions.php:
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:
Y luego añadir el siguiente código en donde quieras utilizar la URL corta de tu artículo:
Y luego poner lo siguiente en el archivo header.php:
Pegar este código en el archivo functions.php:
Luego pegas esto en el archivo single.php, en cualquier parte dentro del Loop de WordPress:
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. 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_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ón |
24 | add_action( 'admin_head', 'bajar_admin_bar' ); |
25 | // en el blog |
26 | 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'); |
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"); |
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 } |
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: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 | <?php |
02 | $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="<?php |
11 | 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 } ?> |
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 image |
10 | $first_img = get_bloginfo('stylesheet_directory')."/images/default_icon.jpg"; |
11 | } |
12 | return $first_img; |
13 | } |
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.untalchamo.blogspot.com/wp-login.php [NC,L] |
http://www.untalchamo.blogspot.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 | } |
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.untalchamo.blogspot.com', |
05 | "alt" => 'My image', |
06 | "w" => '400', // ancho |
07 | "h" => '300' // alto |
08 | ), $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"); |
1 | [snap url="http://www.untalchamo.blogspot.com" alt="Descripción" w="400" h="300"] |
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: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' ) ); echo paginate_links( $pagination ); |
16 | }; |
1 | <?php if ( have_posts() ) : ?> |
2 | <?php while ( have_posts() ) : the_post(); ?> |
3 | // aquí va el contenido del artículo |
4 | <?php endwhile; ?> |
5 | <div class="pagination"><?php pagination('»', '«'); ?></div> |
6 | <?php endif; ?> |
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; } |
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 | } |
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 archivo functions.php:1 | if ( current_user_can('contributor') &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'); |
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 | <?php |
02 | 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 tag |
10 | wp_set_post_terms( $post_id, 'nuevo tag', 'post_tag', true ); |
11 | // add a category |
12 | $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 |
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); |
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: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'; |
11 | if(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'); |
1 | <body <?php body_class(); ?>> |
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 archivo functions.php:01 | function __search_by_title_only( $search, &$wp_query ) |
02 | { |
03 | if ( empty($search) ) |
04 | return $search; |
05 | $q =&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'] ) ); |
15 | if ( 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'); |
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 MENSAJE |
07 | </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. . 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 | } |
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 | } |
1 | <?php setPostViews(get_the_ID()); ?> |
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 echo the_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'); |
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 | } |





