2017-09-29 50 views
-1

似乎有兩個鉤子來處理Wordpress中的POST請求。第一個是admin-post掛鉤。第二個是admin_action_{$_REQUEST[‘action’]}掛鉤。什麼鉤子用於WordPress的POST請求。

它們適合不同的場合嗎?一個比另一個更好嗎?

+0

我覺得這個問題有點奇怪。 WordPress處理HTTP POST請求有很多種方法。您提到的兩個鉤子是從不經常使用的WordPress入口點,AFAIK。請問爲什麼在你看來,這是WordPress用來處理POST請求的唯一兩個鉤子。 – user8262086

+0

它是我在Google上找到的兩個建議。提到的Wort是,我正在尋找處理自定義插件的POST動作的鉤子。例如,在設置頁面上保存設置(我不使用設置API),或者刪除自定義管理頁面上的一段數據。 –

+0

我誤解了你的問題,因爲它似乎涉及WordPress中的所有POST請求。對於來自插件的自定義POST請求,可以使用這些鉤子,但我認爲使用AJAX API更爲常見。 – user8262086

回答

1

'admin_post_'。 $ _REQUEST ['action']動作鉤子用於處理表單,例如,

<form action="<?php echo esc_url(admin_url('admin-post.php')); ?>" method="post"> 
    <input type="hidden" name="action" value="your_action"> 
    ... 
</form> 

'admin_action_'。 $ _REQUEST [「行動」]行動掛鉤用於處理某些管理網址的行爲(php的文件,其中包括可溼性粉劑管理員/ admin.php的),例如,

'<a href="' . admin_url("admin.php?action=your_action&...") . '">...</a> 
'<a href="' . admin_url("edit.php?action=your_action&...") . '">...</a> 
'<a href="' . admin_url("post.php?action=your_action&...") . '">...</a> 

我不認爲其中任一鉤子經常使用。至少不在我使用的插件中。通常,該動作稍後由被調用的php文件處理,例如, wp-admin/edit.php,wp-admin.post.php,...