• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Mostrar datos por usuario desde archivo CSV en WordPress

Mostrar datos por usuario desde archivo CSV en WordPress

[ 24 enero 2024 ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

mejoras

Suscríbete a DecodeCMS:  

En un artículo anterior habíamos visto cómo mostrar datos desde un archivo .CSV, sin embargo en este artículo vamos a filtrar sólo los datos que correspondan a un determinado usuario.

 

Resultado Final

Basado en el nombre de usuario de los usuarios de WordPress.

Lista de usuarios de WordPress

 
Cuando un usuario se conecta obtendremos sus correspondientes datos del archivo .csv.

Mostrar datos desde .csv para un usuario

 

Código para mostrar datos de un usuario desde archivo .CSV

Puedes agregar el siguiente código en el archivo functions.php de tu tema hijo.

Puedes descargar el archivo .csv de ejemplo desde este enlace.
add_filter('the_content', 'dcms_show_csv_data_user');

function dcms_show_csv_data_user($content){

	$file_path = ABSPATH.'data/people-1000.csv';
	$page_slug = 'mostrar-datos';
	$column_search = 1; // Column to search user login
	$exclude_columns = ['Index']; // Columns to exclude

	// Show in specific page and file exists
	if ( is_page($page_slug) && file_exists($file_path) ){

		// Check if user is logged
		if ( !is_user_logged_in() ){
			return 'Debes iniciar sesión para ver los datos';
		}

		// Get user login
		$current_user = wp_get_current_user();
		$user_login = $current_user->user_login;

		// Open file
		$f = fopen($file_path, "r");

		// Get header
		$header = fgetcsv($f, 1000);

		// Get body
		$data = [];
		while ( $line = fgetcsv($f) ) {
			if ( $line[$column_search] === $user_login){
				$data = $line;
				break;
			}
		}

		fclose($f);

		// Check if data is empty
		if ( empty($data) ){
			echo 'No se encontraron datos';
		}

		// Build associative array
		$result = array_combine($header, $data);

		// Show data
		echo "<table class='csv-data'>\n";
		foreach ($result as $key => $value) {
			if ( $exclude_columns && in_array($key, $exclude_columns) ){
				continue;
			}
			echo "<tr>\n";
			echo "<th>$key</th>\n";
			echo "<td>$value</td>\n";
			echo "</tr>\n";
		}
		echo "</table>\n";

	}

	return $content;
}

 

En el código anterior:

  • Usamos el Hook de filtro the_content para mostrar contenido adicional en una determinada página.
  • Dentro de la función a la que hace referencia el hook definimos la página en la que se mostrará el contenido en la variable $page_slug.
  • También definimos variables para la ruta del archivo, la columna de búsqueda de login del usuario, que será la columna número 1, y una variable en caso necesitemos excluir columnas del archivo .csv
  • Hacemos comprobaciones y verificamos si el usuario esta logueado.
  • Obtenemos el nombre del usuario en la variable $user_login.
  • Abrimos el archivo .csv y obtenemos la cabecera.
  • Obtenemos la data buscando en base a la columna 1 y al $user_login.
  • En la variable $result guardamos los datos como un array asociativo de claves y valor.
  • Finalmente, simplemente mostramos los resultados excluyendo las columnas de la variable $exclude_columns
  • En caso no se cumplan las condiciones iniciales simplemente retornamos el contenido de la página.

 

Conclusión

Como has podido comprobar puedes mostrar datos complementarios de un usuario basado en su username y obtener estos datos de un archivo .csv externo. Hemos visto como hacer esto directamente a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Mostrar datos de archivo CSV en WordPressMostrar datos de archivo CSV en WordPress
  • Mostrar elementos según día y hora en WordPressMostrar elementos según día y hora en WordPress
  • Cómo añadir un Favicon en WordPressCómo añadir un Favicon en WordPress
  • Descarga directa de un archivo desde URL sin pluginsDescarga directa de un archivo desde URL sin plugins
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

¿Se puede evitar el efecto Lock-in en WordPress?

Colores personalizados en la administración de WordPress

Deshabilitar métodos de pago en WooCommerce según el total de pedido

Sincronizar WooCommerce y Google Sheets

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados