您可以使用客户端和服务器端验证来实现这一点。如果您在客户端执行某些操作,那么也应该在服务器上复制该功能。现代调试工具使得绕过JavaScript功能变得太容易了。
这个问题很适合作为插件开始解决,所以我就这样来解决它。
首先,在/wp-content/plugins目录中创建一个名为“profile-limition”的目录
接下来,创建一个JavaScript文件,该文件将包含一点jQuery,用于约束描述字段的长度:
它通过检查标题来验证我们是否在配置文件页面上它将最大长度属性(任意设置为140)添加到描述文本区域
(function($) {
$(function() {
// Verify that we\'re on the "Profile" page
if($.trim($(\'h2\').text()) === \'Profile\') {
// Add the max length attribute to the description field.
$(\'#description\').attr(\'maxlength\', 140);
} // end if
});
})(jQuery);
将此文件另存为“plugin.js”
接下来,打开一个新文件。首先,我们需要添加一个标题,以便WordPress将其作为插件阅读:
<?php
/*
Plugin Name: Profile Limitation
Plugin URI: http://wordpress.stackexchange.com/questions/43322/limit-the-length-of-the-author-profile-biographical-text
Description: This plugin limits the user profile description from exceeding 140 characters.
Author: Tom McFarlin
Version: 1.0
Author URI: http://tom.mcfarl.in
*/
?>
其次,我们需要包含我们刚刚创建的JavaScript源代码。我们只想在仪表板中执行此操作,因此我们使用
admin_enqueue_scripts
功能:
function profile_limitation_scripts() {
wp_register_script(\'profile-limitation\', plugin_dir_url(__FILE__) . \'/plugin.js\');
wp_enqueue_script(\'profile-limitation\');
} // end custom_profile_scripts
add_action(\'admin_enqueue_scripts\', \'profile_limitation_scripts\');
之后,我们需要执行一些服务器端验证,以便创建一个函数来读取用户的描述,如果它超过140个字符,则将其截断为他们存储的任何内容的前140个字符。
将此函数直接添加到上面添加的函数下方:
function profile_description_length_limit() {
global $current_user;
get_currentuserinfo();
if(strlen(($description = get_user_meta($current_user->ID, \'description\', true))) > 140) {
update_user_meta($current_user->ID, \'description\', substr($description, 0, 140));
} // end if
} // end custom_profile_description
add_action(\'profile_personal_options\', \'profile_description_length_limit\');
请注意,我们正在连接到
profile_personal_options
钩子,以便在呈现“概要文件”页面时激发。
将此文件另存为插件。php。
接下来,跳转到WordPress中的插件菜单并查找“配置文件限制”激活它,然后导航到您的用户配置文件页面。尝试编辑描述-如果允许您正确添加所有代码,配置文件的长度应不再超过140个字符。
Functions used...