web-dev-qa-db-ja.com

wordpress)のカスタム管理ページでフォームを送信する

wordpress adminに、シンプルなファイルアップロードフィールドと送信ボタンがあるカスタムページを作成しました。ページを処理できる場所に送信する方法を理解する必要がありますが、処理できません。 Webで何かを見つけます。ファイルを処理できる関数または別のページに移動するために、フォーム上で「アクション」が何である必要があるかを誰かが知っていますか?

11
Wally Kolcz

ハンターさん、ありがとう。正解は信用できませんでした。

フォームをif(isset($ _ POST ['submit']))でラップしてから、関数を呼び出しました。

2
Wally Kolcz

このコードスニペットを使用します。

add_action( 'admin_action_wpse10500', 'wpse10500_admin_action' );
function wpse10500_admin_action()
{
    // Do your stuff here
    wp_redirect( $_SERVER['HTTP_REFERER'] );
    exit();
}
add_action( 'admin_menu', 'wpse10500_admin_menu' );
function wpse10500_admin_menu()
{
    add_management_page( 'WPSE 10500 Test page', 'WPSE 10500 Test page', 'administrator', 'wpse10500', 'wpse10500_do_page' );
}
function wpse10500_do_page()
{
?>
    <form method="POST" action="<?php echo admin_url( 'admin.php' ); ?>">
        <input type="hidden" name="action" value="wpse10500" />
        <input type="submit" value="Do it!" />
    </form>
<?php
} 
19

私はこのようなコードを機能するように変更する必要がありました:

add_action( 'admin_post_wpse10500', 'wpse10500_admin_action' );
0
Nimesh Jain