no-img
اِمیلاسلام کاربر مهمان. امروز چهارشنبه ۲۰ آذر ۱۳۹۸


ادامه مطلب

بروزرسانی؛
۱۴ خرداد ۱۳۹۸
انتشار مطالب زمان بندی شده در وردپرس
امتیاز 5.00 ( 1 رای )
حمایت از emila.ir

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

بروزرسانی؛ ۱۴ خرداد ۱۳۹۸

به تازگی ها یه مشکلی در وردپرس مشاهده شده که مطالب زمانبندی شما ارسال نمیشه! یعنی مطالبی که به آینده ارسال کردید منتشر نمی شوند. این مشکل هنگام افتتاح همین سایت نیز موجود بود و بر آن شدیم که یه کدی بنویسیم که مطالب را سر زمان منتشر کنه. البته یه نکته حائز اهمیت هست که باید قابلیت cron job در هاست فعال باشد . اگه cron job فعال باشه بصورت اتوماتیک پست ها ارسال می شوند و اگر این قابلیت غیر فعال است آن را فعال کنید سپس سایت خودتون را تست کنید. اگر نه با ما همراه باشید. برای این کار از wp cron استفاده می کنیم:

register_activation_hook( __FILE__, 'prefix_activation' );
function prefix_activation() {
wp_schedule_event( time(), 'hourly', 'prefix_hourly_event_hook' );
}
add_action( 'prefix_hourly_event_hook', 'prefix_do_this_hourly' );
function prefix_do_this_hourly() {
global $wbdb;
$q = $wpdb->get_results("SELECT post_date FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'future' AND post_date <= NOW();" , ARRAY_A);
foreach($q as $post_id){
wp_publish_post( $post_id['id'] );
}
}

با اضافه کردن این کد به فایل functions.php قالبتون، هر 1 ساعت بررسی میشه که مطلب تاریخ گذشته وجود داره یا نه؟ اگه وجود داشت (به هر تعدادی) اونا را منتشر میکنه. جا داره اینجا تابع wp_publish_post را معرفی کنیم. این تابع یه ورودی میگیره (آی دی مطلب) و اون را از هر حالتی هست منتشر می کنه. امیدوارم کاربردی بوده باشه.


موضوع : وب/ برچسب : , , / لینک کوتاه : https://emila.ir/?p=14453
designer