رفتن به مطلب

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


Thorin

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

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


<?php
$args = array( 'numberposts' => 1, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>" class="alert-danger"><?php the_title(); ?></a><br/>
<?php endforeach; ?>

حالا باید هر دفه صفحه رو رفرش کنم تا موضوع جدید جایگزین شه ! چیکار کنم که مثلا عر دو ثانیه موضوع جدید رو نمایش بده یعنی فقط همین کد تو کل صفحه هی رفرش شه ممنون

لینک به ارسال

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


<?php
/*template name: Random Post*/
if(isset($_POST['randompost'])) {
$args = array( 'numberposts' => 1, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>" class="alert-danger"><?php the_title(); ?></a><br/>
<?php endforeach;
}
?>

از طریق پیشخوان یک برگه با این قالب منتشر کنید و فرضا نامش رو بگذارید randompost

کدهاتون رو به اینصورت تغییر بدید


<div id="randompost">
<?php
$args = array( 'numberposts' => 1, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>" class="alert-danger"><?php the_title(); ?></a><br/>
<?php endforeach;
?>
</div>
<script>
function randomPost() {
setTimeout(function() {
$("#randompost").each(function() {
$.ajax({
type:"POST",
url:"<?php bloginfo('url');?>/randompost/",
data:{randompost:1}
})
.done(function(msg){
$("#randompost").html(msg);
})
})
$("#randompost").promise().done(function() {
randomPost();
});
},1200);
}
randomPost();
</script>

لینک به ارسال

من که کلا کدهایی که دادم رو پیدا نکردم

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

لینک به ارسال

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


<script>
function randomPost() {
setTimeout(function() {
$("#randompost").each(function() {
$.ajax({
type:"POST",
url:"http://bornahesab.com/randompost/",
data:{randompost:1}
})
.done(function(msg){
$("#randompost").html(msg);
})
})
$("#randompost").promise().done(function() {
randomPost();
});
},1200);
}
randomPost();
</script>

لینک به ارسال

همونطور که گفتید این کد ها رو گذاشتم


<?php
/*template name: Random Post*/
if(isset($_POST['randompost'])) {
$args = array( 'numberposts' => 1, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<a href="<?php the_permalink(); ?>" class="alert-danger"><?php the_title(); ?></a><br/>
<?php endforeach;
}
?>

لینک به ارسال

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


<?php
/*template name: Random Post*/
if(isset($_REQUEST['randompost'])) {
$random_query= new WP_Query(array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 1,
));
if($random_query->have_posts()) :
while($random_query->have_posts()) :
$random_query->the_post(); ?>
<a href="<?php the_permalink(); ?>" class="alert-danger"><?php the_title(); ?></a><br>
<?php endwhile;endif;
wp_reset_query();
}
?>

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

لینک به ارسال

الان صفحه randompost با کدهای بالا ساخته شده؟

صفحه را دست نزنید تست بشه

لینک به ارسال

جالبه سایت شما هیچ ریکوئست آژاکسی رو بر نمی گردونه و من نمی دونم مشکل از تنظیمات سروره یا افزونه ای چیزی برای مسدود کردن مسیر آژاکس دارید

الان اگر به صورت دستی

http://bornahesab.com/randompost/?randompost رو وارد بروسر کنید یک مطلب رو می خونه ولی با آژاکس احضارش نمی کنه با کدهای مختلف آژاکس هم چک کردم

لینک به ارسال

بله من از افزونه های news ticker هم که استفاده میکردم هیچ کدوم اجرا نمیشدن ولی مشکل از هاست نیست روی لوکال هم ب همین صورت بود ، افزونه های استفاده شده :

bbpress

Persian World

WP Maintenance Mode

WP User Avatar

WordPress Popular Posts

Subscribe2

لینک به ارسال

افزونه WordPress Popular Posts سابقه ایجاد مشکلات عجیب و غریب زیاد داره

و اگر حل نشد کدهاتون رو با قالب دیفالت وردپرس چک کنید اگر مشکل برطرف شده بود کدهای functions.php قالبتون رو بگذارید اینجا

این افزونه رو هم

WP Maintenance Mode

حتما بعد از اینکه از حالت تعمیرات خارج شدید غیر فعال و حذفش کنید (البته به مشکل اخیرتون بعید مربوط بشه ولی حذف نشدنش باعث کندی سایت می شه

لینک به ارسال

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

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

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

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

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

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

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

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

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