Cree sus propios campamentos de contacto de usuario de WordPress

Tengo un nuevo complemento para ti. Un complemento a los métodos de contacto con nosotros. Por cierto, al editar un usuario en la administración, hay un bloque de «información de contacto». Bueno, quiero mostrarles cómo agregar sus campamentos de bienes raíces, para un poco más de mí, solo muéstrenos los nuevos campamentos en el registro.

Aquí hay una vista de lo que queremos crear:

editar-campos-personalizados

Campamentos de nuevos usuarios en la redacción

Campamentos personalizados

Campamentos personalizados en el registro

Y para confeccionar, a modo de disfraz, ¡podemos crear un complemento complementario y sencillo!

Paso 1: crea el complemento

Cree una nueva alfombra en wp-content / plugins y será «métodos de contacto de usuario personalizados». Dentro de esta alfombra, se crea, creando un archivo archivado de «métodos de contacto de usuario personalizados».

Esta columna contiene contenido en su archivo. Este código simplemente complementa el registro:



Paso 2: defina sus campos personalizados

A continuación, necesitamos crear una variable que contendrá nuestros campos personalizados, los que se usarán en la página de edición del usuario y también en la página predeterminada de registro. Guardemos estos campos en una variable llamada $ extra_fields.
$extra_fields =  array( 
	array( 'facebook', __( 'Facebook Username', 'rc_cucm' ), true ),
	array( 'twitter', __( 'Twitter Username', 'rc_cucm' ), true ),
	array( 'googleplus', __( 'Google+ ID', 'rc_cucm' ), true ),
	array( 'linkedin', __( 'Linked In ID', 'rc_cucm' ), false ),
	array( 'pinterest', __( 'Pinterest Username', 'rc_cucm' ), false ),
	array( 'wordpress', __( 'WordPress.org Username', 'rc_cucm' ), false ),
	array( 'phone', __( 'Phone Number', 'rc_cucm' ), true )
);

Siempre estamos buscando un lugar dentro de una matriz que tiene 3 pares de metros, el primero es el ID del campamento, el segundo es la etiqueta del campamento y el último tiempo es una información booleana que define al campamento como maestro en el país de registro o no. . Puede agregar muchos pares de metros como este, por ejemplo, un marcador de posición en una información requerida.

Paso 3: iniciar correctamente el filtro

Ahora necesitamos conectar una función de filtro correcta. En nuestro caso concreto, el filtro es “user_contactmethodâ€, y el nombre de la función que vamos a crear es “add_methodser_con

// Use the user_contactmethods to add new fields
add_filter( 'user_contactmethods', 'rc_add_user_contactmethods' );

Paso 4: Crea nuestros campamentos personalizados

Debe crear la función "rc_add_user_contactmethods". Son nuestros campings personalizados agregados en la página de edición de uso. Completamente dinámico y sereno.

/**
 * Add custom users custom contact methods
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_add_user_contactmethods( $user_contactmethods ) {

	// Get fields
	global $extra_fields;
	
	// Display each fields
	foreach( $extra_fields as $field ) {
		if ( !isset( $contactmethods[ $field[0] ] ) )
    		$user_contactmethods[ $field[0] ] = $field[1];
	}

    // Returns the contact methods
    return $user_contactmethods;
}

Este paso, custodiar y activar el complemento, lo puedes encontrar en tus campamentos personalizados en la edición de usuario. Como estamos usando la mano derecha, tenemos que crear un campo de datos para "guardar". Entonces, el complemento está funcionando muy bien por el momento. Pero quiero probar un poco más y agregar la opción de mostrar estos campamentos en la oficina de registro. Marcando la configuración en la casilla de verificación de configuración "Cualquier dato puede ser registrado"; por el contrario, no admita el enlace "Регистратура".

Paso 5: Ganchos de la página de registro

Para agregar nuestros campamentos en la oficina de registro, necesitamos acceder a los dos y crear las funciones. Uno para mostrar los campamentos y el segundo para custodiar los datos de los campamentos en la base de datos.

Comencemos nuestras funciones:

// Add our fields to the registration process
add_action( 'register_form', 'rc_register_form_display_extra_fields' );
add_action( 'user_register', 'rc_user_register_save_extra_fields', 100 );

Paso 6: Mostrar la página de registro de registro personal

En el código anterior declaramos las funciones. El primero muestra los campamentos en la oficina de registro. En esta parte compraremos el tercer piso de Metro de cada matriz en $ extra_fields. Este pará Metro booleano indica si los campos deben mostrarse ili no. Verdadero: se muestra el campo, falso: no se muestra el campo.

/**
 * Show custom fields on registration page
 *
 * Show custom fields on registration if field third parameter is set to true
 *
 * @access      public
 * @since       1.0 
 * @return      void
 */
function rc_register_form_display_extra_fields() {
	
	// Get fields
	global $extra_fields;

	// Display each field if 3th parameter set to "true"
	foreach( $extra_fields as $field ) {
		if ( $field[2] == true ) { 
		$field_value = isset( $_POST[ $field[0] ] ) ? $_POST[ $field[0] ] : '';
		echo '
			
			
		
';
		} // endif
	} // end foreach
}

Paso 7: Almacene los valores de los campos en el proceso de registro

Ahora que nuestros campamentos se están registrando en la oficina de registro, necesitamos averiguar los valores en la base de datos. Es la lente de la función "rc_user_register_save_extra_fields". Queremos usar la función "wp_update".

/**
 * Save field values
 *
 * @access      public
 * @since       1.0 
 * @return      void
*/
function rc_user_register_save_extra_fields( $user_id, $password = '', $meta = array() )  {

	// Get fields
    global $extra_fields;
    
    $userdata       = array();
    $userdata['ID'] = $user_id;
    
    // Save each field
    foreach( $extra_fields as $field ) {
    	if( $field[2] == true ) { 
	    	$userdata[ $field[0] ] = $_POST[ $field[0] ];
	    } // endif
	} // end foreach

    $new_user_id = wp_update_user( $userdata );
}

Conclusión

Bueno, tomemos los conceptos que necesitamos para agregar nuevos campamentos con los métodos para contactarnos, pero eso es todo. Por ejemplo, puede eliminar campamentos existentes como "Yahoo IM", "AIM" y "Jabber" usando uno simple). © n puedes agregar algunas funciones para desinfectar tus campos personalizados con el fin de comprobar, por ejemplo, si el número de teléfono tiene un formato adecuado, si un campo es obligatorio o no i itd. ¡Sin tipos y características y comentarios maricón!

Ah, y una última cosa... si desea sampler los datos de cualquiera de sus campos, simplemente use esto:

// Param 1 is user ID
// Param 2 is field ID
// Param 3 is there to get a var or an array
echo get_user_meta( 1, 'twitter', true );

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *