arshiyan
آفلاین
عضو
تعداد نوشتهها: ۵
تشکر شده: ۱ بار
#
نوشته شده: ۱۳ سال پیش
۱۳ آذر ۱۳۹۰ - ۱۵:۳۵
سلام
اول بگم که خیلی جستجو کردم ولی چیزی پیدا نکردم.
من می خوام ارسال های امروز یا این هفته رو تو سایتم نمایش بدم، چندتا کد پیدا کردم که این کار رو می کرد، اما از اونجایی که تاریخ و ساعت در سرور با تاریخ و ساعت در وردپرس فارسی متفاوته نمایش روز رو با چند ساعت تاخیر نشون میده یا اینکه ارسال های دیروز رو هم نشون میده.
این کد رو نگاه کنید
<?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'");
if ($numposts >0) {
echo $numposts.' posts published today';
} else {
echo "No posts published today";
?>
البته این کد تعداد رو نشون میده ولی مهم تاریخه ، من از jdate به جای date هم استفاده کردم ولی جواب نداد
سپاس
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
تناسب اندام
Morteza
آفلاین
ناظم
تعداد نوشتهها: ۳۴۰۲
تشکر شده: ۳۱۲۸ بار
#
نوشته شده: ۱۳ سال پیش
۱۳ آذر ۱۳۹۰ - ۱۶:۱۷
شما باید میزان مغایرت ساعت رو پیدا کنید (ثابت هست) و از مقدار موردنظر کم یا به تاخیر اضافه کنید.
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
arshiyan
arshiyan
آفلاین
عضو
تعداد نوشتهها: ۵
تشکر شده: ۱ بار
#
نوشته شده: ۱۳ سال پیش
۱۳ آذر ۱۳۹۰ - ۱۶:۲۱
man4toman گفت:
شما باید میزان مغایرت ساعت رو پیدا کنید (ثابت هست) و از مقدار موردنظر کم یا به تاخیر اضافه کنید.
احتمالا همون 3.5 ساعت باید باشه، یعنی
strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60))
بشه
strtotime(date('Y-m-j H:i:s')) - (1 * 27 * 90 * 60))
؟
arshiyan
آفلاین
عضو
تعداد نوشتهها: ۵
تشکر شده: ۱ بار
#
نوشته شده: ۱۳ سال پیش
۱۳ آذر ۱۳۹۰ - ۱۶:۳۵
خوب من نمونه کد رو تست کردم با کم کردن 3.5 از مقدار اولیه نتیجه خوب بود ولی باید 24 ساعت اونو رو سایت اصلی تست کنم ، نتیجه رو همینجا اعلام م یکنم تا دوستان هم استفاده کنن
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 21 * 30 * 60)); //Today - 1 day
Morteza
آفلاین
ناظم
تعداد نوشتهها: ۳۴۰۲
تشکر شده: ۳۱۲۸ بار
#
نوشته شده: ۱۳ سال پیش
۱۳ آذر ۱۳۹۰ - ۱۶:۳۹
چک کنید:
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (99000));
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
رضا ش