Mostrar taxonomías personalizadas en el PDF de las entradas de WordPress
Para ofrecer a los visitantes de su web WordPress información clara y bien organizada, puede mostrar taxonomías personalizadas en sus entradas de WordPress, sobre todo cuando esas entradas se exportan en PDF. Las taxonomías personalizadas son una herramienta potente para clasificar y etiquetar los contenidos según las necesidades de su web, ya sean productos, servicios u otro tipo de contenido.
En esta guía mostramos cómo mostrar taxonomías personalizadas en el PDF de las entradas de WordPress exportadas. Es especialmente útil si ofrece contenidos para descargar – catálogos de productos, artículos o guías – y el PDF debe conservar todas las categorías y etiquetas importantes. Repasamos los pasos necesarios, desde definir sus taxonomías hasta adaptar la salida del PDF. Tanto si empieza con WordPress como si es un desarrollador con experiencia, esta guía le ayudará a presentar mejor sus contenidos.
Necesita nuestro plugin WordPress Posts to PDF. Después abra el archivo functions.php de su tema hijo y añada el código de abajo. Para adaptarlo, cambie las claves de taxonomía en la variable $taxonomies.
// Add a filter to modify the post metadata keys.
add_filter('wordpress_print_posts_meta_keys', function($tmp) {
global $post; // Access the global post object.
// Define an array of taxonomy slugs to process.
$taxonomies = array(
'vehica_6659'
);
// Iterate through each taxonomy.
foreach($taxonomies as $taxonomy) {
// Get terms associated with the current post and taxonomy.
$terms = wp_get_object_terms($post->ID, $taxonomy);
// Check if any terms are associated.
if(!empty($terms)){
// Retrieve the full taxonomy object.
$taxonomy = get_taxonomy($taxonomy);
// Initialize an array to store term names.
$termNames = array();
foreach($terms as $term){
// Skip if the term name is not set or is empty.
if(!isset($term->name) || empty($term->name)) {
continue;
}
// Add the term name to the array.
$termNames[] = $term->name;
}
// Add a new array to $tmp with taxonomy label and term names.
$tmp[] = array(
'key' => $taxonomy->label,
'before' => $taxonomy->label . ': ',
'value' => implode(',', $termNames), // Combine term names into a string.
);
}
}
// Return the modified array.
return $tmp;
});