web-dev-qa-db-fra.com

Liste des catégories avec code personnalisé

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?

1
coldpumpkin
<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();  ?>
0
TTech IT Solutions