WordPress: Agregar campos adicionales al perfil de usuario

3 comentarios

El perfil del usuario de wordpress es un poco limitado en cuanto a datos de usuario (usuario, email, nombre, apellidos, web)… pero, ¿y si queremos también guardar otros campos adicionales como por ejemplo (dirección, provincia, código postal, teléfono, etc…)?

Con el siguiente código, podemos agregar algunos campos adicionales. Sólo tienes que añadir este código dentro del archivo functions.php de tu tema y añadir los campos que quieras.

En este ejemplo solo voy a añadir 2 nuevos campos (dirección y ciudad):

<?php
add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
 
function extra_user_profile_fields( $user ) { ?>

<h3><?php _e("Campos aiccionales", "blank"); ?></h3>
 
<table class="form-table">
<tr>
<th><label for="direccion"><?php _e("Direccion"); ?></label></th>
<td>
<input type="text" name="direccion" id="direccion" value="<?php echo esc_attr( get_the_author_meta( 'direccion', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Inserta tu direccion."); ?></span>
</td>
</tr>
<tr>
<th><label for="ciudad"><?php _e("Ciudad"); ?></label></th>
<td>
<input type="text" name="ciudad" id="ciudad" value="<?php echo esc_attr( get_the_author_meta( 'ciudad', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Inserta tu ciudad."); ?></span>
</td>
</tr>
</table>

<?php }
 
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; }
 
update_usermeta( $user_id, 'direccion', $_POST['direccion'] );
update_usermeta( $user_id, 'ciudad', $_POST['ciudad'] );
}
?>

WordPress: añadir campo excerpt a las páginas

0 comentarios

Ya sabemos que el campo excerpt esta por defecto solo en los post o entradas del administrador de wordpress, pero y si queremos utilizarlo por ejemplo en las páginas…

Insertar el campo excerpt en páginas es muy simple, abrimos nuestro archivo functions.php que se encuentra en el raiz de nuestro tema de wordpress y agregamos la siguientes líneas php:

add_action('init', 'my_custom_init');

function my_custom_init()
  add_post_type_support( 'page', 'excerpt' );
]

Y para visualizar el contenido del excerpt de las páginas (como si fueran post o entradas):

<?php the_excerpt(); ?>

WordPress: Permitir al usuario “colaborador” subir archivos

5 comentarios

Si tenéis varios usuarios (de tipo o perfíl “colaborador“) que escriben en vuestro a tu blog e wordpress, es probable que necesitéis algún día que puedan subir archivos o fotos a los post. Esta acción por defecto esta desactivada para este tipo de usuarios (quedando oculto el menú superior del WYSIWYG de wordpress, con los iconos para poder subir imágenes, video, audio o otros objetos…).

Para activar el menu de “subir/insertar” imágenes, video, audio o otros objetos… solo tenemos que editar un poco nuestro archivo functions.php (que se encuentra en la carpeta de nuestro tema):

if ( current_user_can('contributor') && !current_user_can('upload_files') )
    add_action('admin_init', 'allow_contributor_uploads');

function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
}
HTML5 Powered with CSS3 / Styling, Device Access, and Semantics