Pour le moment et en prenant http://codex.wordpress.org/Template_Tags/wp_list_categories nous pouvons utiliser le code suivant pour répertorier les catégories dans une page wordpress:
<?php
$args = array(
'show_option_all' => '',
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list',
'show_count' => 0,
'hide_empty' => 1,
'use_desc_for_title' => 1,
'child_of' => 0,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'include' => '',
'hierarchical' => 1,
'title_li' => __( 'Categories' ),
'show_option_none' => __( 'No categories' ),
'number' => null,
'echo' => 1,
'depth' => 0,
'current_category' => 0,
'pad_counts' => 0,
'taxonomy' => 'category',
'walker' => null
);
wp_list_categories( $args );
?>
Et changez ses options comme bon nous semble. Cependant, cela fera toujours écho à une balise <li><a>something</a></li>
. Je voudrais changer ce code, par exemple. Je veux faire les balises <a>
en dehors de <li>
. Comment puis-je réaliser quelque chose comme ça?
<ul>
<?php
$categories = get_categories();
foreach($categories as $category)
{
?>
<li><a href="<?php echo get_category_link($category->cat_id);?>">$category->name</a></li>
<?php
}
?>
</ul>
Il suffit simplement de modifier le contenu de la boucle foreach pour obtenir le résultat souhaité. Si vous le faites à plusieurs endroits, déposez-le dans une fonction et renvoyez-le à partir de votre fichier de fonctions.
Déposez ceci dans votre functions.php
<?php
function outputcategories()
{
?>
<ul>
<?php
$categories = get_categories();
foreach($categories as $category)
{
?>
<li><a href="<?php echo get_category_link($category->id);?>">$category->name</a></li>
<?php
}
?>
</ul>
<?php
}
puis l'utiliser utilisez le ci-dessous
<?php echo outputcategories(); ?>