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; ?>

Deja una respuesta

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

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock
close