Come Visualizzare il Conteggio delle Visualizzazioni dei Post

14 mag 2014, 07:39:16
Visualizzazioni: 30.7K
Voti: 2

Sto cercando di visualizzare il conteggio delle visualizzazioni dei post.

Ho provato la funzione seguente per visualizzare il conteggio delle visualizzazioni del post, ma ottengo lo stesso numero di visualizzazioni per tutti i post nel loop. Non ottengo il conteggio corretto delle visualizzazioni.

Funzione:

       <?php
          // funzione per visualizzare il numero di post
           function getPostViews($postID){
           $count_key = 'post_views_count';
                $count = get_post_meta($postID, $count_key, true);
              if($count==''){
          delete_post_meta($postID, $count_key);
                     add_post_meta($postID, $count_key, '0');
                    return "0 Visualizzazione";
            }
            return $count.' Visualizzazioni';
      }             

          // funzione per contare le visualizzazioni
       function setPostViews($postID) {
      $count_key = 'post_views_count';
          $count = get_post_meta($postID, $count_key, true);
     if($count==''){
                 $count = 0;
     delete_post_meta($postID, $count_key);
               add_post_meta($postID, $count_key, '0');
          }else{
     $count++;
                   update_post_meta($postID, $count_key, $count);
               }
             }


          // Aggiunge una colonna in WP-Admin
     add_filter('manage_posts_columns', 'posts_column_views');
       add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
     function posts_column_views($defaults){
      $defaults['post_views'] = __('Visualizzazioni');
     return $defaults; 
        }
       function posts_custom_column_views($column_name, $id){
if($column_name === 'post_views'){
    echo getPostViews(get_the_ID());
      }
       }
     ?>

Codice del Loop:

   <ul>
      <?php $the_query = new WP_Query( 'showposts=5' ); ?>

        <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
      <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a>

       <?php echo getPostViews(get_the_ID()); ?>  //Codice Visualizzazione Post

  <?php echo substr(strip_tags($post->post_content), 0, 250);?></li>

      <?php endwhile;?>
  </ul>

Ho bisogno di suggerimenti per visualizzare il Conteggio corretto delle Visualizzazioni dei Post nel loop While

2
Commenti

Qual è la fonte del codice?

Brad Dalton Brad Dalton
14 mag 2014 07:44:49

Puoi spiegare perché stai eliminando e poi aggiungendo il conteggio delle visualizzazioni nella funzione getPostViews?

Chittaranjan Chittaranjan
14 mag 2014 10:12:50
Tutte le risposte alla domanda 3
1

Aggiungi questo a single.php, assicurati di incollarlo all'interno del loop.

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

Infine, per visualizzare il numero di visualizzazioni di un articolo, aggiungi questo dove vuoi che appaia:

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

.

<?php

// funzione per visualizzare il numero di articoli.

function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0 Visualizzazione";
    }
    return $count.' Visualizzazioni';
}

// funzione per conteggiare le visualizzazioni.
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

?>
10 apr 2017 12:06:41
Commenti

Ho utilizzato il tuo codice e funziona bene, ma non capisco perché abbiamo 2 query? https://uupload.ir/files/bt01_screen_shot_2020-12-01_at_4.57.55_am.png

D.JCode D.JCode
1 dic 2020 03:30:16
0

Se stai memorizzando correttamente i metadati, puoi utilizzare il seguente codice per visualizzare il conteggio

echo (int) get_post_meta(get_the_ID(), 'post_views_count', true) . ' Visualizzazione(i)';
14 mag 2014 10:11:00
0
-1

Per il valore 0 in add_post_meta il conteggio delle visualizzazioni non si aggiorna. Prova la riga add_post_meta($postID, $count_key, '1'); invece della riga add_post_meta($postID, $count_key, '0');.

29 mag 2019 10:39:52