Current File : /var/www/e360ban/wp-content/plugins/wp-shortcodes-usuarios/integraciones/wordpress.php |
<?php
/**
* Datos de WordPress
* copyright Enrique J. Ros - enrique@enriquejros.com
*
* @author Enrique J. Ros
* @link https://www.enriquejros.com
* @since 1.0.0
* @package WPShortcodesUsuarios
*
*/
defined ('ABSPATH') or exit;
Class WP_Shortcodes_Usuarios_WordPress {
public function __construct ($dato_shortcode, $user_id, $shortcode_id) {
$this->resultado = false;
switch ($dato_shortcode) {
case 'user_email':
$datos = get_userdata ($user_id);
$this->resultado = $datos->user_email;
break;
case 'user_role':
global $wp_roles;
$datos = get_userdata ($user_id);
foreach ($wp_roles->roles as $rol => $detalles) {
if ($rol == $datos->roles[0]) {
$nombre = apply_filters ('wp_shortcodes_usuarios_nombre_rol', true, $shortcode_id);
/**
* Si queremos mostrar el ID de rol en lugar del nombre:
*
* add_filter ('wp_shortcodes_usuarios_nombre_rol', '__return_false');
*
*/
$this->resultado = $nombre ? ((($traducido = translate_user_role ($detalles['name'])) == $detalles['name']) ? translate_user_role ($detalles['name'], 'woocommerce') : $traducido) : $rol;
}
}
break;
case 'username':
$datos = get_userdata ($user_id);
$this->resultado = $datos->user_login;
break;
case 'user_first_name':
$this->resultado = get_user_meta ($user_id, 'first_name', true);
break;
case 'user_last_name':
$this->resultado = get_user_meta ($user_id, 'last_name', true);
break;
case 'user_nombre':
$this->resultado = sprintf ('%s %s', get_user_meta ($user_id, 'first_name', true), get_user_meta ($user_id, 'last_name', true));
break;
case 'nickname':
$this->resultado = get_user_meta ($user_id, 'nickname', true);
break;
case 'display_name':
$datos = get_userdata ($user_id);
$this->resultado = $datos->display_name;
break;
case 'user_biografia':
$this->resultado = str_replace ("\n", '<br>', get_user_meta ($user_id, 'description', true));
break;
case 'user_url':
$datos = get_userdata ($user_id);
$this->resultado = $datos->user_url;
break;
case 'gravatar':
$datos = get_userdata ($user_id);
$size = apply_filters ('wp_shortcodes_usuarios_gravatar_tamano', get_field ('size', $shortcode_id), $shortcode_id);
/**
* Para cambiar el tamaño por encima del máximo:
*
* add_filter ('wp_shortcodes_usuarios_gravatar_tamano', function ($size) {
*
* return 250;
* }, 10, 1);
*
*/
$default = apply_filters ('wp_shortcodes_usuarios_gravatar_default', plugins_url ('assets/img/anonymous_user_profile.jpg', __FILE__), $shortcode_id);
/**
* Para cambiar la imagen por defecto:
*
* add_filter ('wp_shortcodes_usuarios_gravatar_default', function ($url) {
*
* return 'https://example.com/ruta/imagen.jpg';
* }, 10, 1);
*
*/
$img = sprintf ('https://www.gravatar.com/avatar/%s?d=%s&s=%s', md5 (strtolower (trim ($datos->user_email))), $default, $size);
$this->resultado = sprintf ('<img class="gravatar wp-shortcodes-gravatar" src="%s" alt="Avatar" width="%s"/>', $img, $size);
break;
}
return $this->resultado;
}
}