En un artículo anterior habíamos visto cómo mostrar datos de una tabla de la base de datos de WordPress, sin embargo en algunos proyectos es posible que tu información se encuentre en un archivo .csv
Resultado Final
Al final queremos obtener algo similar a como se muestra en la siguiente imagen:
Código para mostrar datos CSV en WordPress
Podemos mostrar el contenido usando un shortcode, una plantilla de página, o como hacemos en este caso, directamente un Hook que agrega contenido a una página específica.
add_filter('the_content', 'dcms_show_csv_data');
function dcms_show_csv_data($content){
$upload_path = wp_get_upload_dir()['basedir'];
$page_slug = 'mostrar-datos';
$file_path = $upload_path . '/ciudades.csv';
// Show in page
if ( is_page($page_slug)){
echo "<div style='overflow-x: auto;'>\n";
echo "<table class='csv-data'>\n";
if (file_exists($file_path)) {
$f = fopen($file_path, "r");
// Header
if ( $line = fgetcsv($f) ){
echo "<tr>";
foreach ($line as $cell) {
echo "<th>" . htmlspecialchars($cell) . "</th>";
}
echo "</tr>\n";
}
// Body
while ( $line = fgetcsv($f) ) {
echo "<tr>";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
fclose($f);
}
echo "</table>";
echo "\n</div>";
} else {
return $content;
}
}
En el código anterior:
- Usamos el Hook de filtro the_content que hace referencia a la función dcms_show_csv_data()
- Definimos la variable $page_slug que indicará el slug de la página en donde se mostrará el contenido
- Definimos la variable $file_path la ruta del archivo .csv, que en nuestro caso esta dentro de la carpeta uploads de WordPress
- Comprobamos la existencia del archivo, lo abrimos y luego usamos la función fgetcsv() de PHP
- La función fgetcsv() lee el archivo csv línea a línea, primero obtenemos la cabecera para construir la tabla HTML con los datos
- Luego obtenemos el resto de los datos a través de un bucle
- Finalmente cerramos el archivo
Conclusión
Tal como has podido comprobar, puedes leer fácilmente la información de un archivo CSV y mostrarlo en una página en WordPress en formato de tabla. En este artículo hemos visto cómo realizar esto directamente a través de código.
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores:
La entrada Mostrar datos de archivo CSV en WordPress es un artículo reciente del sitio DecodeCMS.
0 Commentaires