使用户配置文件字段为必填字段

时间:2014-12-18 作者:DrMosko

在用户配置文件页面中,有一个站点url文本框。

如何将站点输入字段调整为required?

如何验证它是真实的站点?

1 个回复
最合适的回答,由SO网友:DrMosko 整理而成

我所做的是用字段创建表单并验证它们:添加这行代码以添加用户对必填字段的了解

 <span class="description"><?php _e(\'(required)\'); ?></span> 
将此添加到如下表单:

add_action( \'show_user_profile\', \'extra_user_profile_fields\' );
add_action( \'edit_user_profile\', \'extra_user_profile_fields\' );

function extra_user_profile_fields( $user ) { ?>
<table class="form-table">
<tr>
<th><label for="address"><?php _e("address",\'shabatkeeper\'); ?> <span class="description"><?php _e(\'(required)\'); ?></span></label></th>
<td>
<input type="text" name="address" id="address" value="<?php echo esc_attr( get_the_author_meta( \'address\', $user->ID ) ); ?>" class="regular-text"  /><br />
<span class="description"><?php _e("Please enter your address.",\'shabatkeeper\'); ?>   </span>
</td>
</tr>
等等。。

然后添加了一个validate if is empty and if empty do error消息:

add_action( \'personal_options_update\', \'save_extra_user_profile_fields\' );
add_action( \'edit_user_profile_update\', \'save_extra_user_profile_fields\' );

function save_extra_user_profile_fields( $user_id ) {

if ( !current_user_can( \'edit_user\', $user_id ) ) { return false; }
{
  if (!isset($_POST[\'address\']) || empty($_POST[\'address\'])  {
      wp_die( __(\'Error: you must fill all fields\') );

  } else {
      // field was set and contains a value
      // do your action

      exit;
  }
}  
}
也许还有另一条捷径,所以如果你知道,请告诉我。

结束

相关推荐

Client Profiles

正在寻找创建客户机数据库的最佳方法。插件能最好地实现以下功能吗?我的客户端数据库插件存储有关客户端的个人信息和统计信息,这些信息和统计信息将通过自定义字段和自定义表单收集,管理员创建客户端配置文件后,仪表板选项卡将打开列表区域(类似于用户选项卡)(仅限管理员)“添加新”功能(类似于仪表板的用户区域)。管理员可以将客户端分配给用户,分配给用户的客户端显示为用户元数据。分配给用户的客户端将在用户配置文件中可见,仪表板小部件显示为登录用户分配的客户端,并带有指向客户端配置文件页面的链接。插件是解决此问题的解决方