Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Hur man visar populära posts efter views i WordPress (2 sätt)

Vill du visa populära posts baserat på deras views i WordPress?

Genom att visa dina mest populära blogginlägg i WordPress kan du hjälpa läsarna att hitta ditt bästa och mest värdefulla content. Dessutom kan det uppmuntra dem att stanna längre på din website.

I den här artikeln visar vi you hur du visar dina populära posts efter views i WordPress.

How to Display Popular Posts by Views in WordPress

Varför visa populära posts efter views i WordPress?

När användare ser dina mest populära blogginlägg på WordPress kan de upptäcka vilket content som deras medläsare gillar mest. På så sätt kan de kontrollera dessa artiklar och delta i konversationen.

Dessutom kan du öka ditt sociala bevis genom att displayed ditt mest populära content i WordPress. Det gillar att berätta för nya användare att ”Hej, andra människor har hittat dessa poster riktigt användbara, och du kanske också gör det!”

WPBeginner's trending and popular posts

Slutligen kan visning av trendande blogginlägg få människor att stanna längre på din website, vilket ökar antalet sidvisningar och minskar avvisningsfrekvensen.

Ju mer engagemanget från användarna ökar, desto mer tycker Google att ditt content är bra och viktigt. I sin tur förbättras din WordPress sökmotorsoptimering och din site kan rankas högre.

Tyvärr har WordPress inte en built-in funktion eller block för att displayed your most popular posts by page views. I den här guiden visar vi dig hur du gör exakt det med ett plugin och med kod.

Klicka bara på en av de snabba links under för att hoppa direkt till din önskade metod:

Video Tutorial

Subscribe to WPBeginner

Om du föredrar skriftliga instruktioner är det bara att fortsätta läsa.

Metod 1: Display Popular WordPress Posts by Views med MonsterInsights

Det enklaste sättet att displaya populära posts efter views i WordPress är med ett plugin. Det finns faktiskt många tillägg för populära posts i WordPress available, men enligt vår mening är MonsterInsights det bästa valet.

The MonsterInsights Google Analytics plugin

MonsterInsights används av 3 miljoner+ websites över hela världen och är det bästa Google Analytics-tillägget för WordPress. Även om dess huvudfunktion är analys, har det också en användarvänlig funktion för att visa dina mest populära posts.

Först och främst måste du installera pluginet MonsterInsights och ansluta det till ditt Google Analytics account. För mer detaljer, se vår Step-by-Step guide om hur man installerar Google Analytics i WordPress för nybörjare.

Note: Även om en gratis version av MonsterInsights är available, kommer vi att använda Pro-versionen eftersom den innehåller funktionen för populära inlägg.

Välj ett tema förwidgetar för populära poster

När du har aktiverat och konfigurerat pluginet går du till Insights ” Popular Posts från WordPress dashpanel. Klicka sedan på menu-item ”Popular Posts Widget”.

The Popular Posts Widget in MonsterInsights

När du rullar ner måste du selecta ett theme för att visa widgeten för populära posts. Det finns olika alternativ.

Vissa inkluderar en featured image för inlägget, medan andra ser mer minimalistiska ut.

Choosing a popular posts widget theme in MonsterInsights

Om du vill se hur temat gillar att se ut innan du gör ditt val, flytta bara ner på sidan till Theme Preview section.

Du kan också previewa temat i ett brett eller smalt format. Med det breda formatet ser du dina inlägg listade under sidans eller inläggets content, medan det smala formatet visar inläggen på höger sida av det, gillar en sidebar.

Previewing the popular posts widget theme in MonsterInsights

Låt oss sedan rulla ner till ”Customize Design” -sektionen. Här kan du ändra temats färger, fontstorlek, layout och antal post som ska visas.

Alternativen för customize här kan variera beroende på vilket theme du använder. Så se till att utforska de olika temana för att se vilket som passar dig bäst.

Customizing the popular posts widget theme in MonsterInsights

Konfigurera beteendet för widgetar för populära poster

När du har konfigurerat temats design måste du gå till Behavior section. Det är här du kommer att kontrollera hur widgeten för populära posts kommer att visas på din WordPress website.

I inställningarna för Widget Styling kan du välja att använda den design som du har gjort ovan eller ej styla widgeten alls. Med det andra alternativet kommer widgeten att följa din WordPress site theme’s CSS.

Sedan kan du välja hur widgeten ska välja dina mest populära posts. För denna tutorial väljer du ”Curated”, men du kan också visa de mest populära posterna baserat på antalet kommentarer.

Some of the popular posts widget's behavior settings in MonsterInsights

Vad du måste göra härnäst är att aktivera alternativet ”Add Top 5 Posts from Google Analytics” under. Men innan du gör det behöver du MonsterInsights Dimensions Add-On och lägga till Post type som en new custom dimension.

Detta kommer att låta MonsterInsights välja de mest populära posterna baserat på Google Analytics-data.

För att göra detta måste du downloada MonsterInsights Dimensions-utökningen och installera den som ett plugin i WordPress. För Step-by-Step instruktioner, kontrollera vår guide om hur du installerar ett WordPress plugin.

Gå sedan till Insights ” Settings och växla till tabben ”Conversions”. Efter det klickar du på ”Add New Custom Dimensions.

Adding a new custom dimension in MonsterInsights

När du har gjort det väljer du ”Post type” i dropdown-menyn.

Detta kommer att aktivera MonsterInsights för att spåra prestanda för dina blogginlägg och andra custom post types.

Selecting post type as a custom dimension in MonsterInsights

Nu är det bara att gå tillbaka till Insikter ” Populära inlägg och gå till ”Widgetar för populära inlägg.

Aktivera helt enkelt knappen ”Add Top 5 Posts from Google Analytics”. Klicka sedan på ”Test Automated Posts” för att se om installationen var utan problem.

Adding top 5 posts based on GA data in MonsterInsights

Om ja, kommer du att se ett success message popup.

Det ska stå: ”Data för Popular Posts kan hämtas korrekt. Obs/observervera: beroende på när du konfigurerade inställningarna för Custom Dimensions kan det ta upp till 7 dagar innan relevanta data för Popular Posts hämtar från Google Analytics.

Popular posts data can be fetched correctly popup message in MonsterInsights

Om du går vidare till nästa steg kan du nu add to en rubrik som kommer att visas ovanför widgeten. Det kan vara något som gillar ”Kolla in våra mest populära post” eller något liknande.

Under det kan du välja om widgeten ska visas i alla post typer, uteslutas från specifika inlägg och/eller endast visas i vissa inläggskategorier.

Dessa Settings är användbara om du har skapat andra custom post types än blogginlägg och tycker att widgetarna för populära inlägg gillar att se irrelevanta ut där.

More behavior settings for the popular posts widget in MonsterInsights

Ett av de sista stegen är att embedda widgeten för populära posts. Det finns flera alternativ: placera den automatiskt, använda ett Gutenberg block, lägga till den som en sidebar widget eller använda en shortcode.

Låt oss gå igenom varje alternativ ett efter ett.

The embed options of popular posts widget in WordPress

Embed widgeten Popular Posts automatiskt

Automatisk placering rekommenderas om du vill att widgeten ska visas på alla posts som matchar de beteendeinställningar som du har ställt in föregående inlägg.

För detta behöver du bara aktivera knappen Automatic Placement.

Activating automatic placement for the popular posts widget in MonsterInsights

Nackdelen med det här alternativet är att du inte kan justera widgets design baserat på vad som ser bäst ut på posten eller sidan. Om du behöver den här typen av funktionalitet kan du prova nästa metod.

Embed the Popular Posts Block till en page eller post

Om du vill ha mer control över hur widgeten ser ut på en page eller post, då är den här metoden något för dig.

Gå först till block editor för det post eller den page där du vill att widgeten ska vara. Därefter klickar du på knappen ”+” add block var som helst i editorn och letar efter blocket Popular Posts.

Adding MonsterInsights' popular posts block in the WordPress block editor

I panelen Block settings ser du att det finns alternativ för att ändra widgets tema, fontstorlek, färger, titel, layout och antal post.

Dessa settings liknar dem vi har sett i tillägget MonsterInsights.

MonsterInsights' popular posts block settings in the WordPress block editor

Den enda skillnaden är att du inte kan ändra vilka posts som väljs i widgeten.

Med det sagt är det i Behavior Settings möjligt att bara visa posts från vissa kategorier. På så sätt kan du göra de populära posterna mer skräddarsydda efter dina behov.

Choosing to only display posts from certain categories in the MonsterInsights popular posts widget

När du är nöjd med blockinställningarna klickar du bara på knappen ”Update” i post och page editor.

Så här gillar blocket Popular Posts på vår testwebbplats:

Example of what the MonsterInsights popular posts block look like on the WordPress site

Embed widgeten Popular Posts Widget i en sidebar

Om du använder ett icke-block WordPress theme som har ett widget-ready sidebar area, då kan du add to Popular Posts widget till det. Det här är vad vi gjorde i vår artikel om hur du lägger till utvalda inlägg i ditt sidebar i WordPress.

Allt du behöver göra är att gå till Appearance ” Widgets. Klicka sedan på knappen ’+’ add widget i sidebar area och leta efter widgeten Popular Posts – MonsterInsights.

Adding the MonsterInsights popular posts widget to the sidebar area

Likes i den tidigare metoden innehåller widgeten liknande inställningar för att customize ditt temas appearance.

Det som är annorlunda är att gränssnittet är lite svårare att använda. När du ändrar settings kan du inte se hur widgeten faktiskt gillar att se ut. Du måste clicka på en annan widget eller ett annat area för att få preview på den.

Om du är nöjd med hur widgeten ser ut klickar du bara på ”Update” högst upp i högra hörnet.

Updating the sidebar area after adding the MonsterInsights popuplar posts widget

Se till att gå till din website för att kontrollera om sidebaren ser rätt ut.

Så här gillar vi vår:

Example of the MonsterInsights popular posts widget in a sidebar

Om du vill att widgeten Popular Posts bara ska visas på vissa sidor kan du läsa vår guide om hur du visar eller döljer widgetar på vissa sidor i WordPress.

Embed den populära Posts Widget med en Shortcode

Det sista alternativet är att använda en shortcode. Denna metod rekommenderas om alternativen ovan inte fungerar för ditt specifika användningsfall.

I Popular Posts Widget tabs, rulla all the way down to the ”Embed Options” section. Välj sedan ”Display using a Shortcode” och klicka på knappen ”Copy Shortcode”.

Copying the popular posts widget shortcode in MonsterInsights

Efter det är det bara att placera shortcoden där du gillar den. För mer information, kontrollera vår guide om hur du lägger till shortcodes i WordPress.

Metod 2: Display Popular WordPress Posts by Views med kod

Metoden MonsterInsights är det enklaste sättet att displayed your mest populära och bästa content efter views i WordPress. Men om du är bekväm med kodning kan du också använda kod för att visa dina mest populära WordPress-poster.

För den här metoden rekommenderar vi att du använder ett code snippets plugin som WPCode, vilket är vad vi kommer att använda i den här guiden.

WPCode - Best WordPress Code Snippets Plugin

WPCode gör det säkert att infoga custom code utan att direkt interagera med dina WordPress-filer. Dessutom, eftersom denna metod är obligatorisk för att använda flera code snippets, kommer pluginet att göra hanteringen och trackingen av dem all mycket enklare.

Först måste du installera WPCode i WordPress. En gratis version av WPCode finns tillgänglig, men vi kommer att använda Pro-versionen, eftersom den innehåller de funktioner vi behöver för att insert koden på rätt locations.

För en Step-by-Step installationsguide, läs vår artikel om hur du installerar ett WordPress plugin.

Add to WordPress Post Views Counter-funktion

När pluginet är aktiverat måste du gå till Code Snippets ” + Add Snippet från instrumentpanelen. Sedan hoverar du över ”Add Your Custom Code (New Snippet)” och klickar på ”Use snippet”.

Use snippet

Nu är du inne i WPCode code snippet editor. Innan du infogar någon kod, gå vidare och lägg till en titel för snippet.

För den här första koden kan du namnge den något som gillar ”WordPress Post Views Counter Function. Detta beror på att syftet med denna första kod är att skapa en funktion för att räkna post views i WordPress.

Ändra sedan Code Type till ”PHP Snippet”. Obs/observera att alla code snippets som du kommer att behöva add to från den här artikeln är i PHP.

Creating the WordPress Post Views Counter Function in WPCode

Följaktligen kan du kopiera och paste in följande kod under:

function wpb_set_post_views($postID) {
    $count_key = 'wpb_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);
    }
}
//Get rid of prefetching to keep the count accurate
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);

Nu rullar du bara ner till ”Insertion” section och väljer ”Auto Insert” för Insert Method och ”Run Everywhere” för Location. Detta fungerar på samma sätt som att inserta koden i functions.php-filen i ditt theme.

Därefter navigerar du till den övre högra sidan av page och gör koden aktiv.

Klicka sedan på ”Save Snippet”.

Choosing the insertion method and location in WPCode

I detta skede måste du lägga till ett annat nytt anpassat code snippet. Du kan namnge den här ”Track Post Views Function Call.

Denna kod kommer att anropa funktionen ovan och aktivera den på dina sidor med enskilda inlägg.

När du har gjort det kopierar och klistrar du in följande snippet:

wpb_set_post_views(get_the_ID());

Det som är annorlunda med det här code snippet är att du väljer location ”Insert After Post” eftersom det är tänkt att run på dina sidor med enskilda inlägg.

Choosing Insert After Post as the code insertion location in WPCode

När du är klar är det bara att göra koden aktiv och save den.

Infoga WordPress Post Views åtgärds-hook för tracking

Nu måste du lägga till ett nytt code snippet som kontrollerar om den aktuella page är ett enskilt inlägg. Om så är fallet kommer den att anropa WordPress Post Views Counter-funktion för att spåra och updating postens view count.

På så sätt kommer antalet views att updates varje gång en användare besöker posten.

Låt oss namnge detta snippet ”WordPress Post Views Tracking Hook. Infoga sedan följande rader med kod:

function wpb_track_post_views ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
        global $post;
        $post_id = $post->ID;    
    }
    wpb_set_post_views($post_id);
}
add_action( 'wp_head', 'wpb_track_post_views');

You can choose the insert method as ’Auto Insert’ and the location as ’Front-end Only’.

Samma sak som i föregående steg, bara gå vidare och aktivera koden och spara snippet.

Choosing Frontend Only as the code insertion location in WPCode

Note: Om du använder ett plugin för caching kanske den här tekniken inte fungerar som standard. Du kan använda funktionen för fragmentcaching som erbjuds av vissa tillägg för caching som W3 Total Cache för att få det att fungera.

Add Functions to Retrieve Post Views Count och Display Most Popular Posts With View Counts

Vi är nu inne på de sista stegen i den här guiden. Du måste add a code snippet som hämtar och formaterar antalet views för ett visst WordPress post. Detta kommer att vara praktiskt senare när du visar listan över de mest visade posterna.

Du kan namnge den här koden som ’Retrieve Post Views Count Function’ och ställa in platsen till ’Run Everywhere’.

Här är code snippet:

function wpb_get_post_views($postID){
    $count_key = 'wpb_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 View";
    }
    return $count.' Views';
}

Återigen, se till att göra koden aktiv i WPCode och spara den efteråt.

När du har gjort det skapar du ett nytt code snippet igen och döper det till ”Display Most Popular Posts with View Counts. Det här är koden som visar dina mest populära inlägg längst ner i dina blogginlägg.

I boxen Code Preview insertar du följande snippet:

// Customize the query parameters as needed
$popularpost = new WP_Query( array(
    'posts_per_page' => 3,         // Feel free to adjust the number of posts to display
    'meta_key' => 'wpb_post_views_count',
    'orderby' => 'meta_value_num',
    'order' => 'DESC'
));
?>

<div class="popular-posts">
    <h2>See Our Most Popular Posts</h2> <!-- Feel free to customize the title -->
    <ul>

    <?php while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
            - <?php echo wpb_get_post_views(get_the_ID()); ?>
        </li>
    <?php endwhile; ?>

    </ul>
</div>

<?php wp_reset_postdata(); 

Som noterat i koden kan du gratis justera antalet posts som ska visas och customize titeln för denna section.

I WPCode Insertion section, se till att välja ”Insert After Post” för Location. Sedan gör du bara koden aktiv och sparar snippet.

Allt som återstår att göra nu är att besöka ett av dina blogginlägg och se om koden fungerar. Så här gillar de mest populära posterna efter views section på vår test WordPress blogg:

What the most popular posts by views section looks like made with WPCode

Expert tips: För att se om din kod fungerar utan att permanently ändra din site, kan du prova WPCode’s Testing Mode.

Denna funktion låter dig lägga till dina koder som vanligt och bara du kan se hur de ser ut på front end. Å andra sidan kommer dina användare att interagera med din website som vanligt.

Vi hoppas att denna WordPress tutorial hjälpte dig att lära dig hur du visar populära posts efter views. Du kanske också vill kontrollera vårt expertval av de bästa tillägg för relaterade inlägg för WordPress och vår artikel om vad som gör en högkonverterande landing page.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Avslöjande: Vårt innehåll stöds av våra läsare. Det innebär att om du klickar på några av våra länkar, kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt, och hur du kan stödja oss. Här är vår editoriala process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Den ultimata WordPress-verktygslådan

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som varje professionell användare bör ha!

Reader Interactions

168 kommentarerLämna ett svar

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Joe

    I use the code version but I modified it to work daily. It worked great at first but now the same posts get about the same amount of traffic every day so the the list never changes. Google Analytics reports a different top 5 list so I don’t think this is legit traffic. I added ”nofollow” to the links. Do you have any idea what could be causing the issue?

    • WPBeginner Support

      The code method is not set up to reset the count older than a certain date like a plugin would at the moment. That would require more code than we would recommend as a beginner site which is why we recommend using the plugin :)

      Administratör

  3. Mrteesurez

    I think it would be easier to use a plugin maybe Monsterinsights or another as it straight forward than using custom code, but the issue is, I don’t think using Monsterinsights will shows view counts ??

    • WPBeginner Support

      MonsterInsights would mot show the view count by default if that is what you want to include with your popular posts.

      Administratör

  4. mohadese esmaeeli

    The display of popular posts is beneficial as it helps increase website traffic statistics. However, on the other hand, competitors can easily identify which posts and topics have been popular on your site. One of the sections I always explore for competitor analysis and finding trending topics is the ”most popular articles” section on various websites.

    • WPBeginner Support

      While that can be something to keep in mind, we normally find it best to add what is most important to your visitors instead of being concerned that your competitors will follow your content.

      Administratör

    • Mrteesurez

      Yes, competitors can use it to analytics ones website but you can just display it like WPbeginner, without adding the views count/counter.
      But mind you, visitors can use Semrush, Google, Similarweb and some other ways to analyze your site. You own is just to know how you are playing your games.
      Thanks for the insight.

  5. Moinuddin Waheed

    Popular posts and related posts makes the user engagement intact and reduced bounce rate.
    it helps in more user interaction with the posts and articles.
    I have seen many bloggers showing views count and read time of the posts, like 5 minutes read or 3 minutes read.
    can we have popular posts and related posts where ever we want with this method? and
    Is this method can be used for achieving both these objectives like having read time based on word counts?

    • WPBeginner Support

      You should be able to place it wherever widgets are allowed. For the time to read, it would depend on the plugin you use for that and if it has an integration or not.

      Administratör

  6. Jiří Vaněk

    I would like to ask if the snippet also works on the new WordPress 6.4.2. I followed the instructions, cleared the cache, but the most read articles do not appear under the article

    • WPBeginner Support

      The code snippets should still work with the most up to date version of WordPress.

      Administratör

      • Jiří Vaněk

        Thank you for the reply. It’s already working. I had a mistake somewhere and unfortunately I don’t know where. In the end, I repeated the whole procedure twice more and it worked on the third try. Unfortunately, I don’t know what I did wrong, but the snippets really work. Thank you.

        • WPBeginner Support

          Glad they started working for you, it’s always difficult to tell what went wrong when trying the same code again works when the previous time it didn’t.

  7. Amy Ling

    Is there a way to make it so it’s based on user vs in general?

    • WPBeginner Support

      We do not have a recommended method for user specific popular posts at the moment.

      Administratör

  8. Chris

    If we have caching enabled, can we avoid the caching problem by resorting to JavaScript (AJAX) to send the command to record the view? Would that work?

    • WPBeginner Support

      While there is a complex way to have that workaround, we do not have a method we would recommend at this time.

      Administratör

  9. thomas

    How can I reset the meta keys or reset the counting??
    Is there any function?

  10. saikat

    yes, very helpful tutorial

    • WPBeginner Support

      Glad our guide was helpful!

      Administratör

  11. Amir

    Hello, thank you very much.
    It is very simple and practical.

    But with each reload, one visit is added.
    How can I fix this problem?

    Thankful

    • WPBeginner Support

      Any time a user would reload a page or visit the page again would be another visit. For specifically excluding refreshes you would need to use a plugin with more advanced features.

      Administratör

  12. locas

    only 4 posts :(
    I’ve tried to change to 10 but still 4 posts show up
    ’posts_per_page’ => 10

    • WPBeginner Support

      You may want to try clearing all caching checking with your theme’s support to ensure they don’t have anything that would conflict with this

      Administratör

  13. za

    Thank you for the tutorial. I applied it and it works. No need another plugin to show popular posts and the customized counter in single.

    Thanks!

    • WPBeginner Support

      Glad our article could help :)

      Administratör

  14. Chris

    Is it beyond the scope of this article to explain had you assign the functions to those buttons as in your screenshot:

    Recent Articles – Popular Posts – editor’s picks

    That is basically what I want to do…have buttons at the top of my posts page for recent, popular/trending, editors picks. I haven’t found any plugins that can do that. The all focus on side bar widgets.

    It looks like your article is starting to talk about this but where to go from there is beyond my current knowledge level.

    Thanks,
    Chris

  15. Sakshi Grover

    This was very helpful.!!! Thanks a ton.!

  16. Amit Biswas

    Getting double view count on refresh (single.php). Don’t know if the remove action is working or not for ”adjacent_posts_rel_link_wp_head”. Useless so far. I tried everything that is possible to remove double count. Using this code in a custom made plugin.

  17. Hans

    Thsi thing works greats.

    Now I want the columnn in admin to be sortable. any idea how to do this?

    many thanks!

  18. Trevor

    Hey, thanks for the code. Only issue I’m having is the view count is incrementing by 2 instead of 1 on refresh. Any thoughts?

    • Shwet

      I have the same problem with this code.
      Have you found any solution of this?

    • Fuchel

      This was happening for me because I had:

      `set_post_views(get_the_ID());` in single.php
      AND
      `add_action( ’wp_head’, ’track_post_views’);` in my functions.php which was also adding `set_post_views(get_the_ID());` within it.

      By removing the line on single.php I fixed the double count.

  19. Maya

    How to show most popular posts on my home page?

  20. Shaq

    How do I do this for a weekly basis, most viewed posts each week?!

  21. iftkhar hussain

    ah , this works fine ;
    thanks dear !

  22. Bülent Sakarya

    Hello..

    Using w3total cache but count not working correctly.

    don’t use child theme. how can I fix it?

    thanks..

  23. Ryley Ameden

    Fixed this issue:

    Cannot use WP_Query, used get_posts and it is now working. Then use a foreach look to loop through the posts and display them. See below:

    $blog_cat_array = get_the_category();
    $blog_cat = $blog_cat_array[0]->term_id;

    $popularpost = array(
    ’posts_per_page’ => 2,
    ’meta_key’ => ’wpb_post_views_count’,
    ’orderby’ => ’meta_value_num’,
    ’order’ => ’DESC’,
    ’category’ => $blog_cat,
    ’post_type’ => ’post’,
    );
    $pop_posts = get_posts($popularpost);

    foreach($pop_posts as $pop_post){
    the_title();
    }

  24. Philipp

    Is there a possibility to count only unique visitors? Thank you

  25. Zeeshan

    Simple Awesome …. (Y)

  26. Erwin Barendregt

    I really like this option and have built it into my site.
    I have one question regarding the count. I found that the counts were rather high so I changed the code around a bit. With every count increase I wrote the IP address to a log file. I found hat two-third of the counts were legit and the other ones came from googlebot, apple, etc. and just now apews Is there any way to get the counts right and do you know if the ’regular’ plugins have found a way around this?
    Thx!
    BTW: Keep up the good work, I thoroughly enjoy this site!

    • bah

      you can take maxmind ISP IP database and only count humans. This is the best option. Second just dont count common bots user-agent-names

      • Erwin Barendregt

        Thanks so much. I will definitely look into that.
        In the mean time I implemneted the solution which was implemented in the WordPress Popular Posts plugin. That works for now, but the solution you recommended seems more future-proof. Thanks again!

  27. HiepTD

    Hello, I am using WP Super Cache.
    I do not know how this code works correctly.

  28. Krishna

    It is not working for Custom Post Type. Can you help me on this please..

  29. John

    Hi! Awesome! This code helped me a lot!

    Do you know how to display the posts with 0 views? I have to enter to the post page by using the url the first time, otherwise it doesn’t show.

  30. Gianmarco

    Awesome thanks this is really useful, but a question. Doesn’t it slow down the loading of the page significantly?

  31. ayaz

    Hi,

    This is very useful post, i really appreciate. Can i filter the post in category, I wanted to show the post of specific category.

    Thanks.

  32. Md Maruf Adnan Sami

    How can i set Features post on Mobilepress Hompage?
    Please give me that code.

  33. gift charles

    Thank you for this awesome post, you guys are the best

  34. Bojan

    Ok this is great. For some reason, post count doesnt show numbers, not sure is it because i work on a local., but what i wanted to ask even more, is how to add so it count only in the last 7 days?

  35. Blown

    Hi, How can I show the most popular posts for the current week??

  36. Ashish

    Awesome Article !! Thanks. Would be better if code was explained in detail.

  37. Dhiraj Kataria

    I need advice on how r u to Load Word files to a Wordpress website please. Is there an easy way?

  38. DarkSafka

    Sadly this does not work with W3 Total Cache with Page Caching enabled. Coul not get any ”fragmented caching” to work either.

    • Fakrul

      Same here @DARKSAFKA . Not working.

  39. Riya

    nice code. work perfectly….

    • hmmm

      you are right

  40. REIBI

    Hey,
    This works great. But I need to show popular post of a day, this code shows popular posts of all time. Is there anyway to show popular posts of a day only.

    Any help will be greatly appreciated.

    Thanks :)

    • Dimitrios Arkolakis

      Try to add something like this in the WP Query

      ’date_query’ => array(
      array(
      ’year’ => $today[’year’],
      ’month’ => $today[’mon’],
      ’day’ => $today[’mday’],
      ),

      • Nick Heurter

        This doesn’t seems to work. Is there anyone who figures out how to display the most popular posts of the lasts 7 days?

        Thanks!

    • Yonatan

      Add this code to the query

      ’date_query’ => array(
      array(
      ’after’ => ’1 week ago’
      )
      )

  41. Mawardiy

    Hi, I use Goodnews 5.7.2 theme, but where i put ”wpb_get_post_views(get_the_ID());” in my theme, thank for u’r guidance

  42. Alex

    Hey, thanks for the information.
    There’s a little problem. I put:

    function wpb_set_post_views($postID) {
    $count_key = ’wpb_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);
    }
    }
    //To keep the count accurate, lets get rid of prefetching
    remove_action( ’wp_head’, ’adjacent_posts_rel_link_wp_head’, 10, 0);

    function wpb_track_post_views ($post_id) {
    if ( !is_single() ) return;
    if ( empty ( $post_id) ) {
    global $post;
    $post_id = $post->ID;
    }
    wpb_set_post_views($post_id);
    }
    add_action( ’wp_head’, ’wpb_track_post_views’);

    function wpb_get_post_views($postID){
    $count_key = ’wpb_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 View”;
    }
    return $count.’ Views’;
    }

    and my visits counts always as two. What’s happening? Thanks.

  43. 6b

    Really great instruction no need of plugin.works perfect.

  44. Paritosh Arya

    What table does this custom field get stored into? Is it the posts table or the postmeta?

    • ScoDal

      I modified this a little to use it as a shortcode. To use this with a shortcode, add this to your functions.php:

      function wpb_set_post_views($postID) {
      $count_key = ’wpb_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);
      }
      }
      //To keep the count accurate, lets get rid of prefetching
      remove_action( ’wp_head’, ’adjacent_posts_rel_link_wp_head’, 10, 0);

      function wpb_track_post_views ($post_id) {
      if ( !is_single() ) return;
      if ( empty ( $post_id) ) {
      global $post;
      $post_id = $post->ID;
      }
      wpb_set_post_views($post_id);
      }
      add_action( ’wp_head’, ’wpb_track_post_views’);

      function wpb_get_post_views($postID){
      $count_key = ’wpb_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 View”;
      }
      return $count.’ Views’;
      }

      function wpb_most_viewed_posts() {
      // start output buffering
      ob_start();
      ?>
      4, ’meta_key’ => ’wpb_post_views_count’, ’orderby’ => ’meta_value_num’, ’order’ => ’DESC’);

      //begin loop
      while ($query->have_posts()) : $query->the_post(); ?>

      <?php

      // Turn off output buffering
      $theResult = ob_get_clean();

      //Return output
      return $theResult;
      }
      // Create shortcode
      add_shortcode('wpb_most_viewed', 'wpb_most_viewed_posts');

      //Enable shortcode execution in text widgets
      add_filter('widget_text', 'do_shortcode');

      Then simply add [wpb_most_viewed] to your desired page/post and it should display your most popular posts.

  45. Marcos

    Hello. Huge thanks for that. Works very well in my theme.

  46. John

    Hello, great tutorial but I have one question.
    After following all of the steps the template isn’t paginating. It’s only showing the default 10 posts. Should this happen or is there a way to get it to paginate?

  47. Varange

    Folks, please help. Just cannot figure it out.

    How do I change the args to the wp-query to show the most popular posts for the last week? Or month?

  48. Denis

    Hello,
    can I do this with comments? I dont use any comments on my site so I could use this comment count to check my most popular page without adding a comment?
    Cheers,
    Denis

  49. Kes

    How do i make this work with w3 total cache? I’ve tried the fragment cache suggestion but changes nothing

  50. Kes

    I’ve found a number of tuts covering this topic but none seem to spell out where the line goes.

    I’ve tried it inside PHP tags and it breaks the page. If i place it in the HTML it just renders as a comment when you view source and no php is generated.

    Any ideas? I’m w3 total cache and my page views aren’t getting updated

  51. jarc100

    Thanks, this works as charm, but i didn’t get how to use it with the W3 Total Cache. :P

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt våra policy för kommentarer, och din e-postadress kommer INTE att publiceras. Vänligen använd INTE nyckelord i namnfältet. Låt oss ha en personlig och meningsfull konversation.