wordpress插件中的Usermeta不会保存 - 开发

时间:2015-05-08 04:40:43

标签: wordpress-plugin wordpress

我正在尝试创建一个插件,我必须保存一个usermeta。添加和保存usermeta的代码如下。 usermata字段显示在userprofile部分中,但保存它不会执行任何操作。有人可以帮助我!

function add_adslot_text() { ?>
  <table class="form-table">
      <tr>
          <th><label for="afa_adslot_id">Adslot ID as given by the staff</label></th>
          <td>
            <input type="text" name="afa_adslot_id" id="afa_adslot_id" value="<?php echo esc_attr( get_the_author_meta( 'afa_adslot_id', $user->ID ) ); ?>" class="regular-text" /><br />
            <span class="description">Add your Adslot ID given by the staff.</span>
          </td>
      </tr>
  </table>
<?php }
function save_adslot_text($user_id) {
  update_usermeta( absint( $user_id ), 'afa_adslot_id', wp_kses_post( $_POST['afa_adslot_id'] ) );
}
add_action('show_user_profile', 'add_adslot_text' );
add_action('edit_user_profile', 'add_adslot_text');
add_action( 'personal_options_update', 'save_adslot_text' );
add_action( 'edit_user_profile_update', 'save_adslot_text' );
register_activation_hook( __FILE__, 'afa_activate' );

1 个答案:

答案 0 :(得分:2)

我尝试了您的代码并正确保存了值。显示保存的值时只有一个问题。 $user参数需要在函数add_adslot_text中传递。

例如:

function add_adslot_text( $user )