منو سفارشی اضافه نشده

پرسیده شده
فعالیت 978 روز پیش
دیده شده 342 بار
0

سلام من مطابق با کد های گفته شده این کد رو داخل فایل simpleplugin.php زدم:

<?php
/*
Plugin Name: simple plugin
Plugin URI: https://narmafzar5.com/
Description: a simple plugin
Version: 1.0.0
Author: erfan
Author URI: https://erfantayebi.ir
License: GPLv2 or later
Text Domain: simpleplugin
Domain Path: /languages/
*/
define('PLUGIN_DIR' , plugin_dir_path(__FILE__)) ;
define('PLUGIN_URL' , plugin_dir_url(__FILE__)) ;
define('PLUGIN_INC' , PLUGIN_DIR. '/inc/' ) ;


function simple_plugin_activation()
{

}
function simple_plugin_deactivation()
{

}

register_activation_hook(__FILE__ , 'simple_plugin_activation') ;
register_activation_hook(__FILE__ , 'simple_plugin_deactivation') ;

if(is_admin ())
{
    include PLUGIN_INC.'admin/menus.php' ;

}else{
    include PLUGIN_INC.'user/menus.php' ;

}

include PLUGIN_INC.'common/public.php' ;

این کد رو هم داخل فایل admin  و فایل menus.php زدم:

<?php
function simple_plugin_add_menu()
{
    add_menu_page(
        'منو سفارشی' ,
        'منو سفارشی' ,
        'manage_option' ,
        'simple_menu' ,
        'simple_menu_callback' ,
    ) ;
}

function simple_menu_callback()
{

}

add_action( 'admin_menu' , 'simple_plugin_add_menu') ;

اما منو سفارشی رو برای من نمیاره و خطایی رو هم نمیگیره 

اما بعد اینکه این کد رو با کد زیر جایگزین میکنم:

<?php
function simple_plugin_add_menu()
{
    add_menu_page(
        __( 'Custom Menu Title', 'textdomain' ),
        'custom menu',
        'manage_options',
        'custompage',
        'my_custom_menu_page',
    ) ;
}

function simple_menu_callback()
{

}

add_action( 'admin_menu' , 'simple_plugin_add_menu') ;

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

 

Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($function) must be a valid callback, function "my_custom_menu_page" not found or invalid function name in C:\xampp\htdocs\wordpress.exp\wordpress\wp-includes\class-wp-hook.php:303 Stack trace: #0 C:\xampp\htdocs\wordpress.exp\wordpress\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters('', Array) #1 C:\xampp\htdocs\wordpress.exp\wordpress\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #2 C:\xampp\htdocs\wordpress.exp\wordpress\wp-admin\admin.php(259): do_action('toplevel_page_c...') #3 {main} thrown in C:\xampp\htdocs\wordpress.exp\wordpress\wp-includes\class-wp-hook.php on line 303

 

ممنون میشم راهنمایی بفرمایید مشکل کجاست ؟

فایل پیوست

Erfan Tayebi
Erfan Tayebi

29 مرداد 00

0
حذف شده

سلام خدمت شما

شما دو اشتباه داشتید:

function simple_plugin_add_menu()
{
    add_menu_page(
        __( 'Custom Menu Title', 'textdomain' ),
        'custom menu',
        'manage_options'(درست),//      manage_option شما سری اول 
        'custompage',
        'simple_menu_callback'//($function),سری دوم نام تابع های فراخوانی شده یکی نیست
    ) ;
}

function simple_menu_callback()//($function) تابع فراخوانی شده نامش با تابع 
{

}
فایل پیوست

رضا بیرجندی(محب)

توسط

رضا بیرجندی(محب)

1 شهریور 00