راکت
حل شده

اضافه کردن منو پلاگین به زیر منو قالب

3 پاسخ

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

کد های منو قالب که در سمت قالب هست👇
و میخوام پایین زیر منو تنظیمات کلی اضافه بشه


function add_mytheme_admin_menu()
{
     add_menu_page(
        'تنظیمات قالب',
        'تنظیمات قالب',
        'theme_menu_options',
        'my_add_options',
        'my_theme_settings',
        '',
        45
    );
    add_submenu_page(
        'my_add_options',
        'تنظیمات کلی',
        'تنظیمات کلی',
        'manage_options',
        'my_options'
    );

add_action("admin_menu", "add_mytheme_admin_menu");

در زیر هم کد هایی هستند که در فایل ادمین پلاگین نوشتم

function add_myplugin_setting_page()
{
 add_menu_page(
        'plugin',
        'plugin',
        'manage_options',
        'plugin_setting',
        'my_plugin_settings',
        '',
        2
    );add_submenu_page(
        'my_add_options',
        'ویجت های قالب',
        'ویجت های قالب',
        'manage_options',
        'myplugin_setting'
    );
}
add_action("admin_menu", "add_myplugin_setting_page");
ثبت پرسش جدید

پاسخ‌ها

3
مهدی نظری
مهدی نظری
@mahdi.nazari

تخصص: توسعه دهنده Front End

بهترین پاسخ

سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨

با توجه به کدهایی که ارائه دادی، مشکل اینه که در دو جا (در قسمت اضافه کردن منوها) از تابع add_menu_page برای ایجاد منو استفاده می‌کنی. این باعث می‌شه که منوهای جداگانه‌ای برای قالب و پلاگین ایجاد بشن . به جای آن، شما باید تابع add_submenu_page را به عنوان منوی فرعی در نظر بگیری تا منوی پلاگین به عنوان زیرمنوی قالب ایجاد بشه.

کد زیر قطعا میتونه کمکت کنه

function add_mytheme_admin_menu()
{
    add_menu_page(
        'تنظیمات قالب',
        'تنظیمات قالب',
        'theme_menu_options',
        'my_add_options',
        'my_theme_settings',
        '',
        45
    );
    add_submenu_page(
        'my_add_options',
        'تنظیمات کلی',
        'تنظیمات کلی',
        'manage_options',
        'my_options',
        'my_theme_settings' // استفاده مجدد از تابع تنظیمات قالب برای زیرمنو
    );

    add_submenu_page(
        'my_add_options',
        'ویجت های قالب',
        'ویجت های قالب',
        'manage_options',
        'myplugin_setting',
        'my_plugin_settings' // تابع تنظیمات پلاگین برای زیرمنو
    );
}
add_action("admin_menu", "add_mytheme_admin_menu");

در اینجا، تابع my_theme_settings برای منوی تنظیمات قالب و تابع my_plugin_settings برای منوی تنظیمات پلاگین استفاده می‌شن. با این تغییرات، تو باید تنها یک منوی فرعی برای تنظیمات پلاگین و یک منوی اصلی برای تنظیمات قالب داشته باشی همین 😊

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹

vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

سلام دوتا add_menu_page زدی این یعنی دوتا منو ایجاد بشه باید در اصل یکی بزنی

داخل فایل پلاگین بجای اینکه add_menu_page بزنی ی Add_submenu_page بزن و parent رو بزن slug منو ایی که میخای بهش وصل بشه

اگه اشتباه متوجه شدم سوالت رو ی عکس از مشکلت بده

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
اخیرا افزونه ای نوشتم که تکمیل نکردم.
کد زیر:

add_action('admin_menu', 'odd_create_admin_menu');
function odd_create_admin_menu(){
    global $odd_page;
    $odd_page = add_menu_page(
        'فروش فایل',
        'فروش فایل',
        'manage_options',
        'odd_product',
//        'dashicons-cart', 6,
        function(){
            include(ODD_ADMIN_VIEW . 'odd_product.php');
        }
    );

    add_submenu_page(
        'odd_product',
        'تنظیمات',
        'تنظیمات',
        'manage_options',
        'odd_settings',
        function(){
            include(ODD_ADMIN_VIEW . 'odd_settings.php');
        }
    );

    add_submenu_page(
        'odd_product',
        'تراکنش ها',
        'تراکنش ها',
        'manage_options',
        'odd_transactions',
        function(){
            include(ODD_ADMIN_VIEW . 'odd_transactions.php');
        }
    );
    add_submenu_page(
        'odd_product',
        'درباره ما',
        'درباره ما',
        'manage_options',
        'odd_about',
        function(){
            include(ODD_ADMIN_VIEW . 'odd_about.php');
        }
    );

}

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام