با سلام و احترام.
چون دیدم خیلی از دوستان با خطای هدر روبرو شده بودند، کافیه ابتدای کدتون از ob_start(); استفاده کنید.
خطای زیر
Warning: Cannot modify header information - headers already sent by (output started at....
به عنوان مثال:
<?php
ob_start(); // این قطعه کد رو اضافه کنید
add_action('admin_menu', 'add_admin_menu');
function add_admin_menu()
{
add_menu_page('کاربران VIP', "کاربران VIP", "manage_options", "vip_users", 'vip_user');
add_submenu_page('vip_users', "لیست کاربران VIP", "لیست کابران", "manage_options", "vip_list", "vip_list_handler");
add_submenu_page('vip_users', "افزودن کاربر جدید", "افزودن", "manage_options", "add_vip_list", "add_vip_handler");
}
function vip_user()
{
echo "پنل کاربران vip";
}
function vip_list_handler()
{
if (isset($_GET['action']) && isset($_GET['id'])) {
if ($_GET['action'] == 'delete' && intval($_GET['id']) && $_GET['id'] !== null) {
$del_user = wp_delete_user($_GET['id']);
if ($del_user) {
wp_redirect(admin_url('admin.php?page=vip_list'));
}
}
}
include UA_PLUGIN_VIEW . 'userlist.php';
}
function add_vip_handler()
{
if (isset($_POST['submit'])) {
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$password = wp_generate_password(12);
$user = [
'user_login' => apply_filters('pre_user_login', $_POST['username']),
'user_pass' => apply_filters('pre_user_pass', $password),
'user_email' => apply_filters('pre_user_email', $_POST['email']),
];
wp_insert_user($user);
}
}
include UA_PLUGIN_VIEW . 'addUser.php';
}