راهنمای تغییر ظاهر داشبورد ادمین وردپرس

سلام دوستان

در این پست با آموزش ایجاد تغییرات در ظاهر قسمت ادمین وردپرس (Admin Dashboard) در خدمتتون هستم این آموزش ممکنه کمی طولانی بشه پس صبر داشته باشید و تا انتهای مطلب من را همراهی کنید پیشاپیش از توجه شما سپاسگزارم.

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

برای ایجاد تغییرات در قسمت ادمین وردپرس از 2 روش می توانید استفاده نمایید :
1- استفاده از زبان برنامه نویسی php و ایجاد تغییرات مسقیم در فایل های هسته وردپرس
2- استفاده از اکشن هوک های مشخص تعیین شده برای این کار

روش دوم بهتر است چون که در هسته وردپرس تغییراتی ایجاد نکرده و با آپگرید وردپرس تغییرات اعمال شده حفظ میشود در حقیقت تغییرات وابسته به قالب شما می باشد  // من در این آموزش از روش دوم استفاده میکنم.

توجه : کلیه کد های گفته شده در فایل functions.php قالب فعال سایت قرار میگیرد.

برای این تغییرات از Dashboard Widget API (واسط نرم افزاری ابزارک داشبورد) که در وردپرس تعبیه شده استفاده می کنیم که شامل یک سری توابع و هوک می باشد .

تابع اصلی واسط فوق الذکر تابع wp_add_dashboard_widget است که یک ابزارک(widget) جدید به صفحه پیشخوان وردپرس اضافه میکند و به صورت زیر به کار میرود :

wp_add_dashboard_widget($widget_id, $widget_name, $callback);

در تابع فوق که widget_id نامک(slug) و widget_name نامی که در قسمت عنوان ابزارک نمایش داده میشود و call_back تابعی است که محتوی ابزارک را تشکیل میدهد.

پس تا به اینجا 2 کار انجام می دهیم :
1- ایحاد تابعی که محتوی ابزارک را تشکیل می دهد
2- استفاده از دستور wp_add_dashboard_widget و نسبت دادن تابع شماه 1 به این دستور

و گام سوم

3- استفاده از اکشن هوکwp_dashboard_setup

جهت روشن شدن مطلب یک مثال میزنم :

function my_widget(){
    echo "<p>این متن داخل ابزارک جدید در قسمت مدیریت سایت قرار میگیرد</p>";

    }

function custom_dashboard(){
    global $wp_meta_boxes;
    wp_add_dashboard_widget('my_widget','ابزارک شخصی','my_widget');

    }

add_action('wp_dashboard_setup','custom_dashboard');

خب در نگاه اول ممکه کمی گیج کننده باشه پس گام به گام پیش میریم :
۱- یک تابع درست کردم به اسم my_widget این تابع هر آن چه که ابزارک است را تشکیل میدهد
۲- یک تابه به نام custom_dashboard درست کردم در این تابع ۲ کار انجام می شود:
الف) تعریف آرایه ای به اسم wp_meta_boxes این آرایه شامل اطلاعات تمامی ابزارک های صفحه پیشخوان می باشد
ب)استفاده از تابع wp_add_dashboard_widget برای اضافه کردن ابزارک جدید
۳- در انتها لازم است که تابع custome_dashboard را به هوک wp_dashboard_setup نسبت دهیم.

  خطای رایج وردپرس http و 5 روش برای حل آن

تا به اینجا موفق شدید که یک ابزارک به صفحه پیشخوان وردپرس اضافه کنید (این تصویر)

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

$wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']     //برای ابزارک نشر سریع
$wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']   //برای ابزارک آخرین پیش نویس ها
$wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']         //وبلاگ وردپرس
$wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']       //دیگر اخبار وردپرس
$wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']     //ابزارک هم اکنون
$wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']  //ابزارک آخرین دیدگاه ها
$wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']  //ابزارک لینک های ورودی
$wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']         // ابزارک افزونه

این لیست ابزارک خوش آمدید را شامل نمی شود برای حذف این ابزارک به سراغ اکشن هوک دیگری به نام admin_head می رویم
این هوک به قسمت head صفحه ای که قسمت ادمین وردپرس را لود میکند(index.php) کد مورد نظر ما را اضافه می کند.و در این مورد کد مورد نظر من یک فایل css است که باعث ایحاد تغییر در ظاهر قسمت ادمین وردپرس میشود .

در مورد حذف ابزارک خوش آمدید می توان از کد زیر استفاده کرد :

function my_custom_admin_head() {
        echo '<style>[for="wp_welcome_panel-hide"] {display: none !important;}</style>';
}

add_action('admin_head', 'my_custom_admin_head');

توضیح : در کد بالا با استفاده از هوک admin_head کد css را به قسمت head صفحه نسبت دادیم(یعنی یک style اضافه نمودیم) سپس با استفاده از attribute selector css نوع نمایش ابزارک خوش آمدید را غیر فعال کردیم.

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

نکته : با استفاده از هوک admin_head شما می توانید به راحتی در ظاهر قسمت ادمین وردپرس و حتی ابزارک ها تغییرات دلخواهتون را اعمال نمایید برای مثال من در بخش ادمین وردپرس خودم این تغییرات را ایجاد کردم (تصویر)

 

 

در آخر امیدوارم که نکات گفته شده مفید واقع بشه
اگر عمری باشه قسمت دومی برای این آموزش می نویسم .

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام خدمت شما آقای حاجی محمدی
    آقا من تو قسمت پرسش و پاسخ سوالی کردم که بعد از چند روز هم کسی یا شما جواب ندادید ممنون یشم راهنمایی کنید.
    نقل قول از قسمت پرسخ و پاسخ :

    سلام خدمت اساتید محترم
    واقعاً ممنون از اساتید مجرب سایت وردپرس ۹۸ بابت راه اندازی این بخش ….
    مشکلی که بنده دارم اینه که سایت هایی که طراحی می کنم برای ورود به قسمت ادمین نمی خوام /wp-admin باشه مثلاً می خوام vorod باشه 😀
    و همچنین لوگوی اونم عوض کنم تا دیگه کسی متوجه وردپرس بودن نشه
    بهترین و آسون ترین راهی سراغ دارید ممنون میشم بگید.
    بازم ممنون

  2. سلام خسته نباشید چطوری میشه که توی وردپرس وقتی مطلبی رو میفرستیم و وقتی توی سایت نمایش میده مثلا نوشته فرستنده مطلب کیه، تاریخ و زمان ارسال و … میخوان این قسمت حذف بشه چطوریه اگه کسه بلده لطف کنه برام ایمیل کنه ممنونم.
    tiamoreu@yahoo.com

  3. باسلام و احترام و دعای خیر حضور اساتید محترم

    سوالی داشتم

    چطور میتونیم از بخش پیشخوان – پنل “هم اکنون” – گزینه “شما از وردپرس 3.5.1 استفاده می کنید” را حذف کرد ؟

    لطفا اگه ممکنه کمک کنید.

    باشکر

  4. 54 سال عضو همیار وردپرس

    با استفاده از css میتونید اول با firebug ببینید آن قسمت به چه کلاس css مربوط میشه سپس با استفاده از هوک admin_head که در مطلب گفته شد یک css سفارشی برای حذف آن قسمت بنویسید.

  5. از دستور زیرم استفاده کردم اما جواب نداد…..

    function remove_dashboard_widgets() {
    global $wp_meta_boxes;
    unset($wp_meta_boxes[‘dashboard’][‘normal’][‘high’][‘dashboard_browser_nag’]); //Browse Happy
    remove_meta_box( ‘dashboard_right_now’, ‘dashboard’, ‘core’ ); //Right now
    unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_recent_comments’]); //Recent comments
    unset($wp_meta_boxes[‘dashboard’][‘normal’][‘core’][‘dashboard_incoming_links’]); //Incoming links
    remove_meta_box( ‘dashboard_plugins’, ‘dashboard’, ‘core’ ); //Plugins
    remove_meta_box( ‘dashboard_quick_press’, ‘dashboard’, ‘side’ ); //QuickPress
    remove_meta_box( ‘dashboard_recent_drafts’, ‘dashboard’, ‘side’ ); //Recent drafts
    remove_meta_box( ‘dashboard_primary’, ‘dashboard’, ‘side’ ); //Official WordPress blog
    remove_meta_box( ‘dashboard_secondary’, ‘dashboard’, ‘side’ ); //Other WordPress news
    //This also works for widgets inserted by plugins
    remove_meta_box( ‘icl_dashboard_widget’, ‘dashboard’, ‘side’ ); //WPML
    remove_meta_box( ‘w3tc_pagespeed’, ‘dashboard’, ‘core’ ); //W3 Total Cache
    }

  6. سلام
    چجور میشه نام یه قالبو از قسمت right now /داشبرد / قالب حذف کرد ؟

  7. سلام
    از زحماتی که برای سایت میکشید خیلی ممنون
    من تازه کار هستم و تازه کار با وردپرس رو شروع کردم
    من معمولا افزونها و قالبها رو از سایت شما و تمپها میگیرم و یک سوالی یک برای من پیش امده اینکه چرا شما مثل سایت تمپها اسکریپت css نمیزارید تو سایت برای دانلود ؟
    من از این اسکریپتها نمیدونم چه طور باید تو سایت استفاده کرد و هر چی هم میگردم آموزشی نیست
    میشه شما آموزش استفاده از این اسکریپتها رو در وردپرس بزارید؟
    با تشکر

  8. دوستان خیلی ممنون از راهنماییهاتون.
    راسشو بخواین با اینا هم نتونسم به نتیجه برسم.
    من با کدهای فرم مشکلی ندارم ولی تو این فرم ساز من هرچی کردم نتونسم فیلد مخصوص پسورد ایجاد کنم (type=’password’)، مشکل اصلیم هم این بود که نفهمیدم action رو کجا تعیین کنم.
    واضح تر بگم، من نیاز دارم بجای فرم ثبت نام اصلی وردپرس یه فرم داشته باشم با سه فیلد نام کاربری، رمز عبور و شماره تلفن. که دیگه از صفر کوکی ننویسم بعد اینکه کاربرا وارد شدن اونارو بشناسه و … .

  9. سلام برای اینکار اگه از افزونه اولی استفاده میکنی میتونی تو تنظیمات افزونه کارکتر ستاره * رو برداری که دیگه اجباری نمیشه و می تونی واسه یک آیتم دیگه مثل شماره اینکار رو انجام بدی.
    من این کار رو اینجا کردم
    http://www.amlakelsovan.com/%D8%A7%D8%B1%D8%AA%D8%A8%D8%A7%D8%B7-%D8%A8%D8%A7-%D9%85%D8%A7/
    البته واسه ثبت نام یکم فرق میکنه.

  10. سپاس فراوان بخاطر زحمات فراوان و بی نظیرتون.
    سهیل جان شرمنده از اینکه این سوال رو اینجا مطرح میکنم، آخه هیچ جا ج نگرفتم.
    من نیاز دارم یه فرم ثبت نام ایجاد کنم که فقط از کاربر سه فیلد یوزر و پسورد و شماره تلفن رو بگیره و ثبت کنه، موقع ورود هم یه پیغام بش نشون بده!
    مشکلی که دارم اینه که افزونه ها تأکید رو ایمیل دارن و من نمی تونم این فیلد رو حذفش کنم!!
    میتونم بطور ساده برنامشو بنویسما ولی نمی تونم تو قالب وردپرسم پیادش کنم.
    ممنون میشم اگه میتونین راهنماییم کنین.

    • 54 سال عضو همیار وردپرس

      سلام
      ممنون از نظرتون
      در مورد فرم ثبت نام میشه از پلاگین contact form 7 که یکی از بهترین فرم ساز ها است استفاده کرد و به راحتی میتونید فیلد ایمیل را از بخش تنظیمات فرم حذف کنید و اگر دوست دارید که فرمتون در حین پر شدن پردازش بشه می تونید از پلاگین Contact Form 7 Dynamic Text Extension استفاده کنید و باز هم اگه علاقه دارید که نتایج ثبت نام در خود وردپرس نمایش داده بشه از پلاگین Contact Form 7 to Database Extension که در همیار وردپرس معرفی شده استفاده کنید .