سلام استاد علی محمدی
لطفاً طریقه صحیح استفاده از تابع wp_redirect را بگید.
به طوری که پس از ثبت ، به لیست مطالب بره.
سرچ هم کردم و متوجه نشدم باید چیکار کنم.
سلام مجدد استاد. من به این صورت عمل کردم لطفا نگاه کنید ببینید درسته؟؟ البته سرچ کردم و این رو پیدا کردم ولی واقعا نمیدونم علتش چیه و دقیقا چیکار میکنه این تابع .
اگه درسته لطفا برام توضیح بدید عملکردش رو.
من بعد از تابع insert این چند خط رو گذاشتم:
ob_clean();
$redirect = site_url('/wp-admin/admin.php?page=wp_apis_admin');
wp_redirect( $redirect );
exit;
و در آخر فایل این تایع و اکشن رو گذاشتم:
function my_custom_redirect() {
ob_start();
}
add_action('init', 'my_custom_redirect');
کاملش رو در پایین گذاشتم:
<!--menus.php-->
<?php
function wp_apis_register_menus() {
add_menu_page(
'پلاگین سفارشی',
'پلاگین سفارشی',
'manage_options',
'wp_apis_admin',
'wp_apis_main_menu_handler'
);
add_submenu_page(
'wp_apis_admin',
'تنظیمات',
'تنظیمات',
'manage_options',
'wp_apis_general',
'wp_apis_general_page'
);
}
function wp_apis_main_menu_handler() {
global $wpdb;
if ( isset( $_GET['action'] ) ) {
$action = $_GET['action'];
if ( $action == "delete" ) {
$item = intval( $_GET['item'] );
if ( $item > 0 ) {
$wpdb->delete( $wpdb->prefix . 'sample', [ 'ID' => $item ] );
}
}
if ( $action == "add" ) {
if ( isset( $_POST['saveData'] ) ) {
$wpdb->insert( $wpdb->prefix . 'sample', [
'firstName' => $_POST['firstName'],
'lastName' => $_POST['lastName'],
'mobile' => $_POST['mobile']
] );
ob_clean();
$redirect = site_url('/wp-admin/admin.php?page=wp_apis_admin');
wp_redirect( $redirect );
exit;
}
include WP_APIS_TPL . '/admin/menus/add.php';
} else {
$samples = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}sample" );
include WP_APIS_TPL . '/admin/menus/main.php';
}
} else {
$samples = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}sample" );
include WP_APIS_TPL . '/admin/menus/main.php';
}
}
function wp_apis_general_page() {
if ( isset( $_POST['saveSetting'] ) ) {
if ( isset( $_POST['is_plugin_active'] ) ) {
update_option( 'wp_apis_is_active', 1 );
} else {
delete_option( 'wp_apis_is_active' );
}
}
$current_plugin_status = get_option( 'wp_apis_is_active', 0 );
include WP_APIS_TPL . '/admin/menus/general.php';
}
add_action( 'admin_menu', 'wp_apis_register_menus' );
function my_custom_redirect() {
ob_start();
}
add_action('init', 'my_custom_redirect');
درست کار میکنه و مشکلی نداره. ولی همونجور که گفتم مطمئن نیستم از لحاظ استاندارد درسته یا نه؟ و یا عملکردش چیه؟