کدهای وردپرس

حذف خودکار کاربران در وردپرس بدون استفاده از افزونه

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

هر کاربری که در وب سایت شما ثبت نام می کند، اطلاعاتی همچون نام، نام کاربری، ایمیل و … دارد که همه اینها در پایگاه داده وب سایت ذخیره می شوند و به مرور حجم آن را زیاد می کنند.

به طور معمول برای حذف کاربران در وردپرس باید به منوی کاربران >> همه کاربران در پیشخوان وب سایت خود مراجعه کرده و با بررسی آخرین زمان فعالیت آنها چنانچه از آخرین بازدید کاربری مدت زمان زیادی می گذرد، او را از فهرست کاربران خود حذف نمایید.

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

حذف خودکار کاربران در وردپرس

برای اتوماتیک کردن عملیات حذف کاربران در وردپرس باید تغییراتی را در فایل function.php قالب خود ایجاد نمایید. برای این منظور ابتدا حتما از وب سایت خود یک فایل پشتیبان تهیه نمایید.

در این روش میتوانید تعداد روزهایی که قصد دارید تا بعد از اینکه این مدت زمان گذشت به صورت خودکار هر کاربری که در سایت عضو شده به صورت اتوماتیک از سایت حذف شود، را تعیین کنید.

برای این منظور به هاست خود رفته و در مسیر نصب وردپرس به آدرس /wp-content/themes/ مراجعه نمایید. در این مسیر پوشه هم نام با قالب نصبی خود را باز کرده و فایل function.php قالبتان را ویرایش و قطعه کد زیر را در جای مناسبی از آن قرار دهید.

function auto_delete_users() {

global $wpdb;

$userlevel = ۰; // ۰ = subscriber

$deleteafter = 30; // delete User after X days

$query = $wpdb->prepare("SELECT $wpdb->users.ID FROM $wpdb->users LEFT JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id WHERE $wpdb->usermeta.meta_key = %s AND $wpdb->usermeta.meta_value = %d AND DATEDIFF(CURDATE(), $wpdb->users.user_registered) > %d", $wpdb->prefix.'user_level',$userlevel,$deleteafter);

if($oldUsers = $wpdb->get_results($query, ARRAY_N)){

foreach ($oldUsers as $user_id) {

wp_delete_user($user_id[۰]);

}

}

}

add_action('daily_clean_database', 'auto_delete_users');

wp_schedule_event(time(), 'daily', 'daily_clean_database');

در خط چهارم این قطعه کد به جای ۳۰ روز، تعداد روز مورد نظر خود را وارد کنید تا بعد از گذشت این مدت زمان از ثبت نام کاربر در سایت، وب سایت شما اقدام به حذف خودکار کاربران در وردپرس نماید.

این مطلب را از دست ندهید :
افزودن تصویر شاخص به قالب وردپرس

هر زمان که کاربری در سایت شما ثبت نام کند، بعد از تعداد روزهایی که تعیین کرده اید به صورت خودکار از سایت حذف خواهد شد.

عاطفه نوربخش

عاطفه نوربخش هستم؛ هم بنیانگذار " وردپرس نارنجی " که حاصل تجربه های خودم در حوزه تخصصی وردپرس را برایتان می نویسم و تلاش میکنم به شما کمک کنم تا با سیستم مدیریت محتوای وردپرس، سایت وردپرسی ای زیبا و حرفه ای داشته باشید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تخفیف های جشنواره نوروز 1399 را از دست ندهید!شرکت در جشنواره نوروزی
+
بستن