관리-도구
편집 파일: admin-post.php
<?php /** * WordPress Generic Request (POST/GET) Handler * * Intended for form submission handling in themes and plugins. * * @package WordPress * @subpackage Administration */ /** We are located in WordPress Administration Screens */ if ( ! defined( 'WP_ADMIN' ) ) { define( 'WP_ADMIN', true ); } if ( defined( 'ABSPATH' ) ) { require_once ABSPATH . 'wp-load.php'; } else { require_once dirname( __DIR__ ) . '/wp-load.php'; } /** Allow for cross-domain requests (from the front end). */ send_origin_headers(); require_once ABSPATH . 'wp-admin/includes/admin.php'; nocache_headers(); /** This action is documented in wp-admin/admin.php */ do_action( 'admin_init' ); $action = ! empty( $_REQUEST['action'] ) ? sanitize_text_field( $_REQUEST['action'] ) : ''; // Reject invalid parameters. if ( ! is_scalar( $action ) ) { wp_die( '', 400 ); } if ( ! is_user_logged_in() ) { if ( empty( $action ) ) { /** * Fires on a non-authenticated admin post request where no action is supplied. * * @since 2.6.0 */ do_action( 'admin_post_nopriv' ); } else { // If no action is registered, return a Bad Request response. if ( ! has_action( "admin_post_nopriv_{$action}" ) ) { wp_die( '', 400 ); } /** * Fires on a non-authenticated admin post request for the given action. * * The dynamic portion of the hook name, `$action`, refers to the given * request action. * * @since 2.6.0 */ do_action( "admin_post_nopriv_{$action}" ); } } else { if ( empty( $action ) ) { /** * Fires on an authenticated admin post request where no action is supplied. * * @since 2.6.0 */ do_action( 'admin_post' ); } else { // If no action is registered, return a Bad Request response. if ( ! has_action( "admin_post_{$action}" ) ) { wp_die( '', 400 ); } /** * Fires on an authenticated admin post request for the given action. * * The dynamic portion of the hook name, `$action`, refers to the given * request action. * * @since 2.6.0 */ do_action( "admin_post_{$action}" ); } }