رفتن به مطلب

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

سلام

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

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

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

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

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

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

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

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

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 دقیقه

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


لینک به ارسال

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

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

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

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

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

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

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

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


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