اضافه کردن منو دلخواه به پنل مدیریت وردپرس
مقالات وردپرسچگونه میتوانید یک منوی دلخواه در کنار سایر منوهای پیشخوان وردپرس اضافه کنید ؟ این روش اصول برنامه نویسی در قسمت افزونه ها و تنظیمات قالب های وردپرسی است !
زمانی که شما با وردپرس کار میکنید و برای اولین بار آن را نصب میکنید ، چندین آیتم مختلف در منوی سمت راست پیشخوان مشاهده میکنید مثل : نوشته ها ، برگه ها ، رسانه و … اما زمانی که یک افزونه مثل فروشگاه ساز ووکامرس را نصب میکنید ، پس از فعال سازی افزونه مشاهده میکنید که چند بخش جدید مثل ” ووکامرس ” و ” محصولات ” به منوهای وردپرس اصافه میشود .
همچنین اگر افزونه های دیگری مثل وردپرس فارسی را نصب کنید ، ممکن است یک آیتم منو ، به بخش منوهای داخلی ( مثلا به داخل منوهای بخش تنظیمات ) اضافه شود . در وردپرس کلا دو نوع منو داریم ، قسمت اول منوهای اصلی هستند که با نگاه کردن به قسمت پیشخوان آنها را مشاهده میکنید مثل همان : نوشته ، برگه ، نمایش و …
حالت دوم زیرمنوها یا همان منوهای داخلی هستند مثل قسمت فهرست ها ، ابزارک ها که در زیرمنوی بخش نمایش قرار دارند . به همین ترتیب ممکن است برخی افزونهها پس از نصب ، بخش کنترل خود توسط منو را ، در منوهای اصلی وردپرس اضافه کنند و یا برخی دیگر به زیربخش های سایر منوها اضافه شوند .
تمامی این کارها را میتوان با کدنویسی در هسته همان افزونه کنترل کرد . همانطور که میدانید وردپرس یک سیستم متن باز است و شما میتوانید طبق اصول کدنویسی در این سیستم ، هرکاری را انجام دهید . شما میتوانید افزونه خود را برنامه نویسی کرده و تعیین کنید که پس از نصب ، منوی کنترل این افزونه ، به کدام قسمت از پیشخوان اضافه شود ؟ منوی اصلی یا زیر منوی یک بخش دیگر !
چگونه به پیشخوان وردپرس منو اضافه کنیم ؟
زمانی که شما یک منو به پیشخوان وردپرس در قسمت اصلی یا زیرمنوی بخش های دیگر اضافه کنید ، یک صفحه خالی در احتیار شما قرار خواهد گرفت که بعد از کلیک روی آن ، وارد یک صفحه شوید . در این صفحه شما باید تعیین کنید که چه محتوایی نمایش داده شود و یا چه کارهایی تصمیم دارید انجام دهید .
مثلا شما وارد قسمت پیکربندی از افزونه ووکامرس می شوید و در آنجا برخی قسمت ها همچون پرداخت ، حساب های کاربری و … را مشاهده میکنید ! پس برای افزودن یک منو به پیشخوان وردپرس باید چند قسمت تنظیم شود :
اول مشخص کنیم که این منو به کدام قسمت اضافه شود
دوم باید یک نامک ( Slug ) برای بخشی که اضافه میکنید تنظیم کنید
مورد بعدی تعیین کنید که متن نمایشی برای منو در پیشخوان وردپرس چه چیزی باشد ( مثلا پرداخت ها ، تنظیمات اضافی ، خدمات و … )
همچنین باید تعیین کنید که کدام دسته از کاربران قادر به مشاهده آن باشند ، مدیر اصلی ، نویسنده ، ویرایشگر و … ) ! انجام این کار یعنی اضافه کردن منو دلخواه به پنل مدیریت وردپرس باید توسط هوک ها و برنامه نویسی داخل فایل functions.php انجام شود پس لازم است تا با کدنویسی قالب های وردپرسی کمی آشنایی داشته باشید .
مورد بعدی اضافه کردن نام یک تابع جهت callback است که توسط کدنویسی داخل این تابع ، تعیین خواهیم کرد که چه محتوایی درون این صفحه نمایش داده شود و در ادامه کدها ، مثال های مربوطه را مشاهده خواهید کرد . نهایتا یک آیکون برای نمایش داخل پیشخوان در کنار نام منو قرار دهید و سپس محل و ترتیب نمایش منو را در بین سایر منوهای وردپرس تعیین کنید !
وردپرس برای اضافه کردن منو دلخواه به پنل مدیریت ، یک هوک در اختیار شما قرار داده است که میتوانید تابع دلخواه خود را ساخته و کدهای لازم را داخل آن بنویسید و نهایتا آن را به هوک مربوطه متصل کنید تا آیتم دلخواه شما در پیشخوان وردپرس نمایش داده شود . این دستور به شکل زیر است :
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $icon_url = '', $position = null );
تابع add_menu_page از توابع شناخته شده در وردپرس است که باید چندین پارامتر را داخل آن تنظیم کنید . همانطور که داخل تابع مشاهده میکنید ، این تابع باید با چندین ورودی که تنظیم کننده همان ویژگی هایی هستند که بالا توضیح دادیم ، به درستی روی سایت شما سوار شود تا کارهای اولیه برای اضافه کردن منو داخل پیشخوان وردپرس انجام شود . اما هر کدام از پارامتر های ورودی تابع add_menu_page برای چیست ؟
قسمت page_title ( اجباری )
این مورد برای زمانی تنظیم میشود که شما روی لینک منوی خودتان داخل داشبورد کلیک کرده باشید و وارد صفحه خالی منو خودتان شدید ، در بالای صفحه مرورگر ، نام پنجره شما نمایش داده خواهد شد که این قسمت برای همین کار است ، میتوانید به شکل فارسی در این قسمت عنوان دلخواه خود را بنویسید مثلا ” بخش تنظیمات تراکنش ” .
قسمت menu_title ( اجباری )
این قسمت همان متنی است که در پیشخوان وردپرس برای شما نمایش داده خواهد شد ، دقیقا مثل همان متن منوهایی همچون نوشته ها ، برگه ها ، رسانه و … پس در این قسمت نیز یک متن فارسی باید وارد کنیم مثلا ” تراکنش ها ” .
قسمت capability ( اجباری )
این بخش برای تنظیم سطوح دسترسی است که اگر قصد دارید تا برای مدیر اصلی این قسمت نمایش داده شود باید مقدار آن را روی گزینه ” manage_options ” تنظیم کنید .
قسمت menu_slug ( اجباری )
این بخش درحقیقت نامک صفحه شما است که در نوار آدرس و برای بخش برنامه نویسی در هسته وردپرس استفاده خواهد شد . زمانی که شما وارد بخش دسته بندی ها خواهید شد ، در نوار آدرس مرورگر در بخشی از متن نوشته شده : taxonomy=category ! قسمت category درحقیقت نامکی برای بخش دسته بندی ها است ، شما نیز باید یک نامک برای آدرس صفحه مدنظر منو دلخواه خودتان تنظیم کنید . این قسمت باید به شکل انگلیسی نوشته شود .
قسمت callback ( اختیاری )
این قسمت با اینکه اختیاری است اما مهم ترین قسمت در این تابع است . شما باید در این قسمت نام یک تابع دلخواه را وارد کنید ، که از این تابع استفاده خواهیم کرد برای اینکه دیزاین صفحه یا حتی صفحاتی که هنگام کلیک کردن روی لینک منو نمایش داده خواهد شد را طراحی کنیم .
قسمت icon_url ( اختیاری )
در این قسمت میتوانید همانند سایر آیکون های داخل پیشخوان وردپرس ، درصورتی که محل منوی شما ، کنار آیتم های اصلی منو باشد ، یک آیکون و تصویر به ابتدای اسم آن اضافه کنید که میتوانید از آیکون های خود وردپرس نیز استفاده کنید و یا یک تصویر با فرمت png و اندازه 16*16 داخل رسانه آپلود کرده و آدرس آن را در این قسمت قرار دهید .
قسمت position ( اختیاری )
این قسمت تعیین خواهد کرد که منوی شما داخل پیشخوان وردپرس ، قبل یا بعد از کدام آیتم های منو نمایش داده شود . مثلا منوی دلخواه شما داخل یپشخوان ، بعد از منوی برگه ها نمایش داده شود یا بعد از منوی تنظیمات و … شما در این قسمت باید با یک شماره ، پوزیشن و محل را تعیین کنید ، پوزیشن های پیشفرض تعریف شده توسط وردپرس برای منو های اصلی به شکل زیر است :
2 – Dashboard
4 – Separator
5 – Posts
10 – Media
15 – Links
20 – Pages
25 – Comments
59 – Separator
60 – Appearance
65 – Plugins
70 – Users
75 – Tools
80 – Settings
99 – Separator
اگر شما قصد داشته باشید تا منوی شما بعد از قسمت برگه ها و قبل از بخش دیدگاه ها نمایش داده شود باید عددی بین 20 تا 25 یعنی یکی از اعداد 21 ، 22 ، 23 یا 24 را وارد کنید در این قسمت ! پس میتوان محل نمایش منوی دلخواه اضافه شده به داشبورد را نیز تعیین کرد (چقدر وردپرس امکانات جذاب در اختیار شما قرار داده واقعا !!! )
نمایش منو داخل پیشخوان وردپرس
خب اکنون که تابع اضافه کردن منو را شناختید لازم است تا یک نمونه از آن را بسازیم و نهایتا آن را به هوک admin_menu اضافه کنیم تا این منو به پیشخوان وردپرس اضافه شود ! یک نمونه کد برای اضافه کردن منوی دلخواه به پیشخوان وردپرس به شکل زیر است :
function wpdocs_register_my_custom_menu_page() {
add_menu_page(
__( 'Custom Menu Title', 'textdomain' ),
'custom menu',
'manage_options',
'mymenu-admin.php',
'mymenu_admin_func',
'', //img url
23
);
}
add_action( 'admin_menu', 'wpdocs_register_my_custom_menu_page' );
اگر همین کد را داخل فایل functions.php اضافه کنید ، بین منوی برگه ها و دیدگاه ها ، یک منو با متن custom menu ایجاد خواهد شد که میتوانید این قسمت را فارسی بنویسید . ما در این بخش قسمت های callback و icon را خالی گذاشتیم و بعنوان آیکون ، یک علامت چرخ دنده نمایش داده می شود .
زمانی که روی منو خودتان کلیک کنید وارد آدرس زیر خواهد شد :
https://site.ir/wp-admin/mymenu-admin.php
البته ممکن است در قدم اول ، هنگام کلیک روی این منو که خودتان آن را به پیشخوان اضافه کردید ، وارد سایت شده و با صفحه 404 مواجه شوید ! که برای حل این مشکل شما باید به کمک تابعی که در بخش callback اضافه کردیم یعنی تابع mymenu_admin_func ، تعیین کنیم که در داخل این صفحه که بعد از کلیک وارد آن شدیم ، چه چیزهایی نمایش داده شود !
ممکن است قصد داشته باشیم تا اطلاعات را از جداول پایگاه داده دریافت کرده و داخل این صفحه نمایش دهیم و … پس در ادامه کد بالا باید کدنویسی را به شکل زیر ادامه دهیم :
function mymenu_admin_func(){
echo "welcome";
}
ما در این قسمت فقط یک عبارت welcome را چاپ کردیم ! اکنون اگر روی منوی خودتان کلیک کنید ، مشاهده خواهید کرد که وارد آدرس زیر شدید :
https://site.ir/wp-admin/admin.php?page=mymenu-admin.php
و عبارت welcome در یک صفحه خالی برای شما نمایش داده میشود . به همین سادگی و البته با رعایت اصولی که گفته شد میتوانید یک منو بعلاوه یک صفحه جهت کنترل محتوای دلخواه خودتان در پیشخوان وردپرس اضافه کنید !
شما میتوانید بسادگی در داخل تابعی که جهت callback قرار گرفته است ، کدهای اچ تی ام ال بنویسید به شکل زیر :
function mymenu_admin_func(){ ?>
<div class="">
<div>
<?php } ?>
اما اینکه تصمیم بگیریم تا در این صفحه چه مواردی نمایش داده شود و چه دیتاهایی دریافت یا ارسال شود موضوع مفصل تری است که در سایر مقالات سایت به آنها خواهیم پرداخت . همچنین در دوره های پیشرفته طراحی سایت همچون دوره طراحی سایت فروشگاهی با وردپرس که در سایت خود ما منتشر شده است ، این موارد به شکلی مفصل آموزش داده شده است .
امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت
نقشه راه فرانت
اگر قصد دارید تا یک طراح ماهر باشید ، ما درست ترین مسیر را برای شما فراهم کردیم و فقط کافیست همراه ما باشید
تاکسونومی در وردپرس چیست و چرا باید درمورد آن اطلاع داشته باشیم ؟ چگونه میتوان یک Taxonomy به وردپرس اضافه کرده و از آن استفاده کرد ؟ در این محتوای بسیار مهم و کاربردی همراه ما باشید .
در این آموزش کوتاه و البته بسیار کاربردی خواهیم دید که چگونه ویرایشگر پوسته و همچنین ویرایشگر افزونه را از داخل پیشخوان وردپرس غیر فعال کنیم .