mehotkhan

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

12 پست در این موضوع قرار دارد

سلام ، من یه کد پیدا کردم که تعداد ارسال های امروز رو نمایش میده ، ولی بر اساس ساعت میلادی پست ها رو شمارش میکنه ، چطوری میتونم کاری کنم که 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'); ?>

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

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

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


لینک به پست

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


<?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 را بنا به نیاز تغییر دهید.

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


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری