رفتن به مطلب
reza_yki

مشکل در عدم نمایش تعداد بازدید

پست های پیشنهاد شده

سلام خدمت اساتید من با کد زیر می خواستم مطالب محبوب رو نمایش بدم درستم اجرا میشه ولی مشکل من اینه که

بازدید رو یا 0 می نویسه یا کلا خالی می زاره لطفا راهنماییم کنید

تو قسمت فانکشن:


/* پربازدیدترین */
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 بازدید";
}
return $count.' بازدید';
}
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);
}
}

داخل سایدبار:


<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=4');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li><?php the_post_thumbnail('smallimg'); ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<div class="comm"><?php
if(function_exists('getpostviews'))
{
echo getpostviews(get_the_ID()).' بازدید';
}
?> - <?php comments_popup_link('بدون دیدگاه', '1 دیدگاه', '% دیدگاه'); ?></div>
</li>
<?php
endwhile; endif;
wp_reset_query();

این هم بگم که تو لوکال دارم کار می کنم

به اشتراک گذاری این ارسال


لینک به ارسال

اینها رو بجای کدهای قبلی که برای بازدید در فانکشن گذاشتین قرار بدین :


//Add view post
function set_post_views( $postID )
{
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
// delete old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );
} else {
$count++;
// update old 'post_views_count' value.
update_post_meta( $postID, $count_key, $count );
}
}
function get_post_views( $postID )
{
$count_key = 'post_views_count';
$count = get_post_meta( $postID, $count_key, true );
if($count=='') {
// delete old 'post_views_count' value.
delete_post_meta( $postID, $count_key );
// add new 'post_views_count' value.
add_post_meta( $postID, $count_key, '0' );
return "0 ";
}
return $count.' ';
}
function get_most_view_custom($limit=7){
global $wpdb;
$where = "post_type = 'post'";
$sql = "SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND $where AND post_status = 'publish' AND meta_key = 'post_views_count' AND post_password = '' ORDER BY views DESC LIMIT $limit";
$query = $wpdb->get_results($sql);
echo '<ul>';
foreach($query as $item){
$pid = $item->ID;
$plink = get_permalink($pid);
$ptitle = get_the_title($pid);
echo '<li><a href="'.$plink.'" title="'.$ptitle.'">'.$ptitle.'</a></li>';
}
echo '</ul>';
}

بعد این هم تابع برای فراخوانی بیشترین بازدید در ساید بار یا هر جای دیگه :


<?php get_most_view_custom(); ?>

به اشتراک گذاری این ارسال


لینک به ارسال

دوستان در کدوم فایل فانکشن و کجاش باید بذاریم؟

به اشتراک گذاری این ارسال


لینک به ارسال

دوست عزیز مگه چند تا فایل functions.php شما دارید ؟


wp-content/themes/yourtheme/functions.php

بعد از اینکه کد رو گذاشتید توی ساید بار


<?php get_most_view_custom(); ?>

اینو بزارید بهتره اگر زیاد آشنایی ندارید از افزونه هایی که هستن و ابزارک میدن استفاده کنید

با سپاس

به اشتراک گذاری این ارسال


لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • مطالب مشابه

    • توسط unid_user
      سلام و درود
      دوستان گرامی آیا راه و روش یا ابزاری برای تشخیص تعداد بازدید کننده گان سایت های دیگر وجود دارد؟ مثلا روزانه یا ماهانه چند نفر بازدیدکننده دارند؟
      با تشکر و سپاس
    • توسط hellow
      سلام دوستان من برای نمایش تعداد بازدید از یک مطلب کد زیر رو تو functions.php استفاده کردم


      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 "بدون بازدید";
      }
      return $count.' بازدید';
      }



      // function to count views.
      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);
      }
      }


      و برای فراخوانیش از کد زیر استفاده کردم


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


      ولی این مشکلو داره که با هر بار رفرش کردن سایت 1 بازدید به مطلب اضافه میشه



      لطفا راهنمایی کنید

    • توسط hellow
      سلام دوستان من از کد زیر برای نمایش تعداد بازدید از یک مطلب استفاده کردم ولی نمیدونم چرا با هر بار رفرش کردن صفحه 1 بازدید به مطلب اضافه میشه لطفا کمک کنید تا مشکلم حل شه
      کد صفحه function

      <?php
      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 "بدون بازدید";
      }
      return $count.' بازدید';
      }

      // function to count views.
      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);
      }
      }
      ?>
      برای فراخوانیش از کد

      <?php setPostViews(get_the_ID()); ?><?php echo getPostViews(get_the_ID()); ?>
    • توسط Saragh
      سلام
      من میخوام تو فایل sing.php یه کد اضافه کنم که تعداد بازدید شده از هر پست رو بالای اون پست نمایش بده ، شبیه اینکه می نویسیم نویسنده کیه یا تاریخ ارسال کی بوده .
      برای نمایش تعداد بازدید چه کدی باید بنویسم ؟
      در ضمن من برای نمایش بازذید مطلبام از افزونه post views استفاده کردم که نتایجو تو سایدبار نشون میده (اینو نوشتم گفتم شاید لازم باشه)
      پیشاپیش ممنون
×
×
  • اضافه کردن...