2010-08-14 76 views
0

在WordPress中有個人資料下的個人信息。我想阻止用戶超過400個字符的最大長度。此外,他可以在傳記信息中放置的超鏈接的數量不應超過三個。我怎麼做?我對JQuery非常熟悉,如果這有助於解決這個問題。我只是一個WordPress的新手。如何限制WordPress中的傳記信息長度和內容?

回答

3

對於Javascript方面,您應該將必要事件附加到description字段。您可以通過wp_enqueue_script鉤子加載您的腳本,並且您可能希望在您的處理程序中對admin_enqueue_scripts執行所有操作,在此檢查通過的$hook_name,在本例中爲頁面名稱。管理員編輯用戶時爲user-edit.php,用戶編輯自己的信息時爲profile.php(在這種情況下,IS_PROFILE_PAGE也將被定義爲TRUE)。

add_action('admin_enqueue_scripts', 'add_description_validation_script'); 
function add_description_validation_script($pagename) { 
    if ($pagename == 'profile.php' || $pagename == 'user-edit.php') { 
     wp_enqueue_script('description_validation', '/path/to/description_validation.js'); 
    } 
} 

對於PHP方面,您需要pre_user_description過濾器。這給你當前的傳記文本,你的功能可以改變這一點,並返回別的東西。

add_filter('pre_user_description', 'sanitize_description'); 
function sanitize_description($description) 
{ 
    // Do stuff with the description 
    return $description; 
} 

如果,而不是默默地改變的描述,你要顯示一個錯誤,你應該看看user_profile_update_errors鉤。您可以驗證給定的數據並將錯誤消息返回給用戶。

您可能想要wrap this all up in a plugin,因此您可以將代碼保存在一起並輕鬆啓用或禁用它。插件只是/wp-content/plugins/目錄中的文件,很可能位於插件後命名的子目錄中。

+0

感謝您的詳細解答!這一定會讓我指向正確的方向! – 2010-08-15 00:28:56