in ,

Crear contador de visitas y mostrar vistas y post populares sin plugin en WordPress

Si eres un desarrollador web y prefieres crear un contador de visitas y mostrar vistas y post populares desde cero, entonces este artículo es para ti.

En este artículo, se explicará cómo crear un contador de visitas y mostrar vistas y post populares utilizando código desde cero.

Lo primero que debemos hacer es buscar el archivo funtions.php y pegar el siguiente código, que es la función para contar visualizaciones de un post y la función para obtener el número de visualizaciones de un post.

<?php
// Función para contar visualizaciones de un post.
function set_post_views() {
    if ( is_single() ) {
        $post_ID = get_the_ID();
        $count = get_post_meta( $post_ID, 'post_views', true );

        if ( $count == '' ) {
            delete_post_meta( $post_ID, 'post_views' );
            add_post_meta( $post_ID, 'post_views', 1 );
        } else {
            update_post_meta( $post_ID, 'post_views', ++$count );
        }
    }
}
add_action( 'wp', 'set_post_views' );

// Función para obtener el número de visualizaciones de un post
function get_post_views( $post_ID ){
    $count = get_post_meta($post_ID, 'post_views', true);

    if ( $count == '' ){
        delete_post_meta($post_ID, 'post_views');
        add_post_meta($post_ID, 'post_views', 0);
        return 0;
    }

    return $count;
}

?>

Ahora usa el siguiente código para mostrar el contador de visitas en el archivo single.php o donde quieras mostrarlo:

<?php while ( have_posts() ) :
	the_post(); 
	$post_views = get_post_views(get_the_ID());?>
    	<p>Este post ha sido visto <?php echo sprintf( _n( '%s vez', '%s veces', $post_views, 'your_textdomain' ), $post_views );?></p>
<?php endwhile; ?>

Y por ultimo para mostrar una lista de post populares, es decir los post que recibieron mas visitas (en este caso de los últimos 3 meses), pegar el siguientes código donde quieras mostrarlo:

<?php

$args = array(
	'showposts' => 6,
	'meta_key' => 'post_views',
	'orderby' => 'meta_value_num',
	'order' => 'DESC',
	'date_query' => array(
		array(
			'after'   => '-3 month',
		),
	),
);

$popular_posts = new WP_Query( $args );
	while ( $popular_posts->have_posts() ) :
	$popular_posts->the_post();?>
	
	<img src="<?php the_post_thumbnail_url($size = 'thumbnail'); ?>">
	<h2><?php the_title();?></h2>

<?php endwhile; ?>

Written by Davii

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mostrar post de otra pagina WordPress en mi sitio

Quitar elementos de mi pagina web con JavaScript