J'ai une taxonomie de menus, à savoir café, thé, sandwichs, gâteaux, etc. Je souhaite ajouter davantage d'informations sur la taxonomie, telle qu'une image qui la représente aux côtés des autres informations de taxonomie (slug, nom, description).
Est-ce possible, comment vous y prendriez-vous?
Merci Stewart
Comme Mamaduka l'a dit, il n'y a actuellement aucun moyen (natif) de stocker des métadonnées pour les taxonomies. Il y a en parler . Mais il est au point mort depuis qu'il s'est avéré difficile de s'entendre sur la meilleure façon de le mettre en œuvre.
Pour de grandes quantités de données, il est possible que vous ne souhaitiez pas utiliser la table d'options. Sinon, vous pouvez créer votre propre table méta de taxonomie. Il y a quelques plug-ins qui font actuellement ceci:
J'ai codé une classe qui stocke des métadonnées pour les termes de taxonomie dans la table des options et son utilisation est assez simple
//include the main class file
require_once("Tax-meta-class/Tax-meta-class.php");
// configure taxonomy custom fields
$config = array(
'id' => 'demo_tax_meta_box', // meta box id, unique per meta box
'title' => 'Demo Meta Box', // meta box title
'pages' => array('menus'), // taxonomy name, accept categories, post_tag and custom taxonomies
'context' => 'normal', // where the meta box appear: normal (default), advanced, side; optional
'fields' => array(), // list of meta fields (can be added by field arrays)
'local_images' => false, // Use local or hosted images (meta box images for add/remove)
'use_with_theme' => false //change path if used with theme set to true, false for a plugin or anything else for a custom path(default false).
);
// Initiate your taxonomy custom fields
$my_meta = new Tax_Meta_Class($config);
// Add fields
//text field
$my_meta->addText('text_field_id',array('name'=> 'My tax Text '));
//textarea field
$my_meta->addTextarea('textarea_field_id',array('name'=> 'My tax Textarea '));
//Image field
$my_meta->addImage('image_field_id',array('name'=> 'My tax Image '));
//Finish Taxonomy Extra fields Deceleration
$my_meta->Finish();
cela ajoutera un champ texte, un champ textarea et un champ image. Et obtenir les données stockées est également très simple:
$saved_data = get_tax_meta($term_id,'text_field_id');
echo $saved_data;
actuellement la classe prend en charge:
pour en savoir plus, voir: Taxonomies WordPress des champs supplémentaires en toute simplicité
Actuellement, le seul moyen de stocker des métadonnées supplémentaires pour les taxonomies est de les ajouter aux options WordPress (table wp_options
). Juste pour une image, vous pouvez supprimer le filtre kses de la description du terme et y insérer une image.
// Remove kses filter from term descriptions
remove_filter( 'pre_term_description', 'wp_filter_kses' );
À propos du stockage des métadonnées de taxonomie dans les tables d'options, vous pouvez voir le message de Brad Williams: http://www.strangework.com/2010/07/01/how-to-save-taxonomy-meta-data-as-an-options -array-in-wordpress/
J'ai écrit un Taxonomy Meta Script pour WordPress , qui peut vous aider à implémenter facilement la méta taxonomie.