فرهاد

افزودن ساعت در آر اس اس

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

سلام

من یه کد نوشتم که یه جعبه اخبار تشکیل بدم و عناوین اخبار هم از آر اس اس یه دسته خاص از سایت گرفته میشه

و در کنار عناوین تابع زمان رو گذاشتم تا زمان انتشار خبر هم کنارش درج بشه

همچنین یه تابع تاریخ هم گوشه کادر قرار دادم تا تاریخ به روز شدن اخبار رو درج کنه

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

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

و زمان کنار عناوین هم آخرین پستی که اینجاد شده

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

کدها و تصویر از نتیجه کار را از لینک زیر دانلود کنید :

http://up.vbpro.ir/do.php?id=2681

من فکر میکنم که باید تابع زمانی که نوشتم رو مثل تابع عناوین از آرایه خارج کنیم

یعنی مثل این کد :

<?php echo $item['title']; ?>

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

ممنون میشم که راهنمایم کنید

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


لینک به پست

توی سایت خودتون آر اس اس خودتون رو نمایش ندید افت سرعت پیدا می کنید از کوئری استفاده کنید که هیچ مشکلی نباشه

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

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


لینک به پست

سلام

این کدهایی که من نوشتم :


<div class="news">
<div class="name">
دیده بان بازار</div>
<div class="date">
<?php the_time('d F Y'); ?>
</div>
</br></br>
<p>
<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('http://localhost/wp/?feed=rss2&cat=3');
$maxitems = 25; //تعداد نمایش
$items = array_slice($rss->items, 0, $maxitems);
?>
<ul>
<?php if (empty($items)) echo '<li>مطلبی وجود ندارد</li>';
else
foreach ( $items as $item ) : ?>
<li>
<span>
<?php echo mysql2date('H:i:s', get_lastpostmodified('GMT'), false);

?>
  --  
<?php echo $item['title']; ?></span>
</li>
<?php endforeach; ?>
</ul>
</div>

این هم تصویر از کاری که انجام دادم

13738976841.png

من میخوام که کنار هر عنوان ساعت ایجاد همون پست رو بنویسه

و اون پوشه بالا هم تاریخ آخرین به روز رسانی همون دسته رو نشون بده یا هم تاریخ امروز رو نشون بده

بعد یه مشکلی که هست

این آر اس اس هر ساعت یکبار به روز رسانی میکنه

ولی من میخوام که دقیقه ای به روز رسانی کنه

چیکار باید انجام بدم؟

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


لینک به پست


<?php
$custom_query = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'3',
'posts_per_page' =>'25',

'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<li><?php the_date('تاریخ Y/m/d ساعت H:i:s') ;?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile;endif;?>
<?php wp_reset_query(); ?>

برای تاریخ آخرین به روز رسانی هم باید کوئری نوشت که توصیه نمی کنم برای مواردی اینچنین کوئری بریزید و برای نمایش تاریخ امروز به شرط داشتن افزونه جلالی :


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

,

این کوئری عین همه صفحات سایت همزمان با هر به روز رسانی به روز رسانی می شه

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


لینک به پست

خدا خیرتون بده

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

که با کمک شما عزیزان حل شد

یه دنیا ممنون

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

بطوری که بصورت پاپ آپ داخل صفحه به نمایش در بیاد و متن رو بخونن

بعد از همین پیغام ها یه آرشیو درست کنم

به نظرتون چه کار کنم بهتر میشه نتیجه گرفت؟

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

شما چه پیشنهادی دارین؟

اصلا شدنی هست؟

میشه از این کد داخل کدی که دادین برای زمانی که مطلبی وجود نداره استفاده کرد که جعبه اخبار خالی نمونه و این پیغام رو بنویسه؟


<?php if (empty($items)) echo '<li>مطلبی وجود ندارد</li>';
else
foreach ( $items as $item ) : ?>

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


لینک به پست

برای اینکار اگر با کد نویسی بخواهید پیش برید می تونید یک post_type تعریف کنید

نکته:

post

page

دو پست تایپ دیفالت وردپرسند

البته وقتی می خواهید پیغامی را بگذارید باید به کد نویسی و ساختار کوکی ها هم مسلط باشید

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

برای زمانی که مطلب


<?php endwhile;
else :
echo '<li>مطلبی وجود ندارد</li>';
endif;?>
<?php wp_reset_query(); ?>

در دسته مورد نظر نیست دو خط آخر کد را حذف کنید و این را جایگزین کنید

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


لینک به پست

سلام مجدد

میشه کاری کرد که این جعبه خبری که درست کردیم رو در یه ساعتی مشخص داخل سایت نمایش داد

مثل در ساعاتی نمایش داده نشه مثل ویدجت ها یا پلاگین ها که غیر فعال میکنیم

میخوام این کد هم در ساعاتی مشخص فقط نمایش داده بشه

میشه کاریش کرد؟

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


لینک به پست

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

کدی شبیه اینرا

قبل از کدها بگذارید


<?php if(Date('H')>16 && Date('H') < 22 ) :?>

و این کد را بعد از کدها


<?php endif;?>

قاعدتا باید بین ساعت 5 تا نه شب نمایش داده بشه البته چک نکردم و با عجله گذاشتم تست کنید ایراد داشت فردا اصلاح می کنم

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


لینک به پست

نه

از ساعت 5 تا 10 شب

چرا یه ساعت بعد نشون میده اما موقع غیرفعال کردن راس ساعت خودش ( 22 ) عمل میکنه ؟

میشه دقیقه هم بهش اضافه کرد؟

مثلا 16:30 دقیقه

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


لینک به پست

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

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

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

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


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

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

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


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