Démarrer un projet

Afficher des taxonomies personnalisées dans le PDF des articles WordPress

Pour offrir aux visiteurs de votre site WordPress une information claire et bien organisée, vous pouvez afficher des taxonomies personnalisées dans vos articles WordPress, en particulier lorsque ces articles sont exportés en PDF. Les taxonomies personnalisées sont un outil puissant pour classer et étiqueter les contenus selon les besoins de votre site, qu’il s’agisse de produits, de services ou de tout autre contenu.

Dans ce guide, nous montrons comment afficher des taxonomies personnalisées dans le PDF des articles WordPress exportés. C’est particulièrement utile si vous proposez des contenus à télécharger – catalogues produits, articles de fond ou guides – et que le PDF doit conserver toutes les catégories et étiquettes importantes. Nous passons en revue les étapes nécessaires, de la définition de vos taxonomies à l’adaptation de la sortie PDF. Débutant ou développeur expérimenté, vous saurez ensuite mieux présenter vos contenus.

Vous avez besoin de notre plugin WordPress Posts to PDF. Ouvrez ensuite le fichier functions.php de votre thème enfant et ajoutez le code ci-dessous. Pour l’adapter, modifiez les clés de taxonomie dans 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;
});