![](/img/trans.png)
[英]How sanitize and store user input, that contains HTML regex pattern in WordPress
[英]WordPress - Sanitize user input params in REST api request
我使用 wp register_rest_route()
function 創建了一些自定義 rest 路由。所有路由都工作正常,但我需要清理將傳遞給其他 wp 函數並創建用戶的輸入。 我讀過map_deep()
function,但是當我需要使用wp_insert_user()
或wp_update_user()
時,我將為用戶元和用戶基本信息(如 email 等)嵌套數組,我需要應用sanitize_email
或其他清理功能.
如果我直接在將傳遞給wp_insert_user()
或wp_update_user()
函數的已定義數組中調用它們,清理函數是否會失效?
<?php
//example
wp_insert_user(
'user_email' => sanitize_email( $request->get_param('email') ),
'meta_input' => array(
'gamer_tag' => sanitize_text_field( $request->get_param('gamer_tag') )
)
);
?>
是的,清理功能將在您的代碼片段中起作用。
注意:您的代碼片段中存在問題,您沒有傳遞array
或object
而是直接編寫數組鍵和值,您需要將鍵包裝在數組中
正確的代碼在這里:
<?php
wp_insert_user(
array( // You were missing this array wrap
'user_email' => sanitize_email( $request->get_param( 'email' ) ),
'meta_input' => array(
'gamer_tag' => sanitize_text_field( $request->get_param( 'gamer_tag' ) ),
),
)
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.