خوشبختانه وردپرس آنقدر انعطاف پذیر است که به راحتی می توانید قسمت های مختلف آن را سفارشی کنید، فقط باید بدانید که در چه شرایطی از کدام قابلیت، فیلتر و یا اکشن استفاده نمائید، برای بررسی این موضوع می خواهیم به لیست کاربران وردپرس یک ستون جدید به نام “شناسه کاربر”(User ID) اضافه کرده و مقدار فیلد ID جدول wp_users را در آن نمایش دهیم، برای شناخت جداول وردپرس پیشنهاد می کنیم مقاله آشنایی با ساختار جداول در دیتابیس وردپرس را مطالعه کنید.
نمونه های دیگری از سفارشی سازی را می توانید در نمایش تعداد بازدید مطالب در وردپرس(بدون نصب افزونه) و چگونه اکانت اینستاگرام و لینکدین را به پروفایل وردپرس اضافه کنیم؟ مشاهده فرمائید.
برای پیاده سازی این آموزش ابتدا کدهای زیر را به فایل functions.php اضافه کنید.
function wp_add_user_id_column( $columns ) {
$columns[ 'user_id' ] = 'شناسه کاربر';
return $columns;
}
add_filter( 'manage_users_columns', 'wp_add_user_id_column' );
در نمونه کد بالا آرایه columns$ شامل ستون های اطلاعاتی کاربران(نام کاربری، نام، ایمیل و …) است که به این مجموعه یک ستون جدید نیز اضافه کردیم. سپس برای مقدار دهی ستون user_id کد زیر را در functions.php قرار دهید.
function wp_set_user_id_column( $value, $column_name, $user_id ) {
if ( $column_name == 'user_id' )
return $user_id;
return $value;
}
add_action( 'manage_users_custom_column', 'wp_set_user_id_column', 10, 3 );
اکشن manage_users_custom_column مشابه یک حلقه For به ازای هر کاربر اجرا خواهد شد و ستون های موردنظر مقدار دهی می شوند، در نهایت خروجی کار را در تصویر زیر مشاهده می کنید.
سلام خدمت مهندس یاور نیا عزیز
در کد بالا دوبار پشت سر هم ازreturnاستفاده شده مگه با returnاول کد تمام نمیشه؟
ممنون
درود بر امین عزیز.
return $user_id مربوط به شرط if است، چون بدنه شرط یک دستوری است از {} استفاده نکردیم(اختیاری)، اگر شرط برقرار نباشد return $value اجرا می شود.
ممنون استاد عزیز جناب یاورنیا واقعا بابت پاسخگوییتون تشکر میکنم خیلی زحمت می کشید ببخشید زیاد سوال میکنم چون سعی میکنم کد ها را به صورت مفهومی یاد بگیرم و فقط قصد کپی کردن نیست
ممنون
خواهش میکنم امین جان، بهترین کارو انجام میدی، بهت قول میدم همینجوری پیش بری یک توسعه دهنده عالی میشی.
مهندس یاور نیا عزیز جایی خوندم با استفاده از فونت وزیر دیگه برای نمایش و تبدیل اعداد انگلیسی نیاز نیست از تابع و موارد دیگه ای استفاده بشه ولی ار فونت وزیر استفاده کردم ولی هنوز اعداد به صورت انگلیسی در سایت نشان داده میشه علتش چیه؟
اره، داخل پوشه دانلود وزیر باید دنبال فایل های vazir-FD با پسوندهای woff، eot و ttf بگردی و به قالب وب سایت اضافه کنی.
اگه بخوام شماره تلفن هم در لیست اضافه کنم باید چیکار کنم؟ الان تو ثبت نام شماره تلفن از کاربر گرفته میشه
درود بر شما.
از اکشن های show_user_profile و edit_user_profile برای افزودن فیلد شماره تلفن و از اکشن های edit_user_profile_update و personal_options_update برای ذخیره سازی مقدار این فیلد استفاده کنید. برای اطلاعات بیشتر Add extra field to users رو بررسی کنید.
برای نمایش شماره تلفن توی لیست کاربران هم از تابع get_user_meta استفاده کنید.
ببخشید این کد رو تو کدوم قسمت فایل function به کار ییریم چون من به کار بردم آخر همه کد ها تعغیر خواصی نکرد ممنون میشم راهنمایی کنید
درود بر شما – به انتهای فایل functions.php که در قالب وب سایتتون قرار داره اضافه کنید.