رفتن به مطلب

کد نمایش تعداد ارسال های امروز


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

سلام ، من یه کد پیدا کردم که تعداد ارسال های امروز رو نمایش میده ، ولی بر اساس ساعت میلادی پست ها رو شمارش میکنه ، چطوری میتونم کاری کنم که 3:30 ایران هم وارد کد هاش بشه ؟


<?php $today = date("Y-m-d H:i:s"); //Today's date
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daysago' AND '$today'");
echo ' تعداد اخبار امروز : '.$numposts;?>

لینک به ارسال

تنظیمات منطقه زمانی وردپرس را چک کنید

سپس کد زیر را ابتدای کدها بالا قرار دهید


date_default_timezone_set(get_option('timezone_string'));

لینک به ارسال

میگم کار نکرد ، کد کلا خودش هم مشکل داره ، مثلا امروز هیچ پستی نداشتم ، الان زده 35 تا :D ، کدی سراغ ندارید که تعداد پست ها رو توی یه روز بشماره ؟

لینک به ارسال

میگم کار نکرد ، کد کلا خودش هم مشکل داره ، مثلا امروز هیچ پستی نداشتم ، الان زده 35 تا :D ، کدی سراغ ندارید که تعداد پست ها رو توی یه روز بشماره ؟

در select با استفاده از 'BETWEEN '$daysago' AND '$today روزهای قبل هم شمارش میکنه.

امتحان کنید:


<?php $numpost = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'"); echo 'تعداد اخبار امروز : '.$numpost; ?>

منبع:


http://wordpress.org/support/topic/display-post-count-wp_count_posts

لینک به ارسال

آقا سعید ، این کدی که گذاشتی تمام پست ها نشون میده ،

کدی که جناب imanfakhar معرفی کردند امتحان کردید؟

لینک به ارسال

آقا سعید ، این کدی که گذاشتی تمام پست ها نشون میده ،

اون کد نباید در حلقه استفاده شه و اگر در حلقه نیست مطمئن باشید کوئری های قبلی همه زیست شده باشند چون در هر حال داخل حلقه


the_date()=the_date()

خواهد شد و در واقع تاریخ پست بای تاریخ روز با خودش مقایسه می شه

لینک به ارسال

سعید جاد ، من از همون سایت کد رو برداشت کردم ، الان هیچ پستی ارسال نشده ولی باز می زنه 35 پست ارسال شده !

اون کد نباید در حلقه استفاده شه و اگر در حلقه نیست مطمئن باشید کوئری های قبلی همه زیست شده باشند چون در هر حال داخل حلقه

the_date()=the_date()

خواهد شد و در واقع تاریخ پست بای تاریخ روز با خودش مقایسه می شه

من الان کوری رو ریست هم کردم ، والی باز مشکل داره !


<?php
wp_reset_query();
$today = date("Y-m-d H:i:s"); //Today's date
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daysago' AND '$today'");
echo ' تعداد اخبار امروز : '.$numposts;wp_reset_query();?>

روش دیگه ای نیست بشه تعداد ارسال های امروز رو شمارش کرد؟

لینک به ارسال

شما اگر کوئری باز نداشته باشی این کد درست عمل می کنه و الا هر کدی رو بگذاری همین دردسر را داری برای امتحان فایل footer.php را باز کن و ارد کن


<?php echo the_date('l Y/m/d'); ?>

اگر درهمه صفحات تاریخ امرز چاپ شد که هیچ ولی اگر تاریخ پست ها چاپ شد حلقه یا کوئری باز داری

در ضمن اگر تازه کوئری را ریست کردی کش ها را هم باید تخلیه کنی

لینک به ارسال
  • 4 ماه بعد...

جهت نمایش پست های ارسالی امروز از کد زیر استفاده کنید :


<?php
$day = date('j');
query_posts('day='.$day);
if (have_posts()) :
while (have_posts()) : the_post();
?>
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="view: <?php the_title(); ?>"><?php the_title(); ?></a></h3>
<div class="show"><?php the_content(); ?></div>
<?php endwhile; ?>
<?php endif; ?>

جهت نمایش تعداد ارسال های امروز از کد زیر را در فانکشن


<?php
function wp_posts_in_days( $args = '' ) {
global $wpdb;
$defaults = array(
'echo' => 1,
'days' => 30,
'lookahead' => 0
);
$the_args = wp_parse_args( $args, $defaults );
extract( $the_args , EXTR_SKIP );
unset( $args , $the_args , $defaults );
$days = intval( $days );
$operator = ( $lookahead != false ) ? '+' : '-';
$postsindays = $wpdb->get_col( "
SELECT COUNT(ID)
FROM $wpdb->posts
WHERE (1=1
AND post_type = 'post'
AND post_status = 'publish'
AND post_date >= '" . date('Y-m-d', strtotime("$operator$days days")) . "')"
);
if($echo != false) :
echo $postsindays[0];
else :
return $postsindays[0];
endif;
return;
}
?>

و از کد زیر هم جهت نمایش استفاده کنید :


<?php
// wp_posts_in_days('days=5');
// wp_posts_in_days('days=5&lookahead=1&echo=1');
echo wp_posts_in_days('days=5&echo=0');
?>

در کد بالا پارامتر days را بنا به نیاز تغییر دهید.

لینک به ارسال

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

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

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

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

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

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

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

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

×
×
  • اضافه کردن...