Link diretto alla categoria?

31 lug 2013, 05:23:56
Visualizzazioni: 28.9K
Voti: 1

Sto cercando di costruire un menu di link alle categorie per evidenziare categorie specifiche e applicare stili/classi.

Ho provato questo tipo di approccio.

<li><a href="<?php get_site_url(); ?>category/Gadgets"> Gadgets</a></li>

E

<li><a href="category/Gadgets"> Gadgets</a></li>

Nel frontend viene mostrato come sitename/category/category/category/gadgets.

Non posso usare <?php wp_list_categories('orderby=name&title_li='); ?> perché mostrerà tutte le categorie e limiterà lo stile che posso applicare all'html.

Voglio semplicemente linkare direttamente alle categorie, per nome, preferibilmente senza codificare il nome del sito.

0
Tutte le risposte alla domanda 4
0

Esiste una funzione chiamata get_category_link() che potrebbe esserti utile. Questa funzione è in grado di generare un link appropriato senza doverlo inserire manualmente nel codice, ad eccezione del nome o dell'ID della categoria.

Esempi tratti dal Codex di WordPress:

<?php
    // Ottieni l'ID di una determinata categoria
    $category_id = get_cat_ID( 'Nome della Categoria' );

    // Ottieni l'URL di questa categoria
    $category_link = get_category_link( $category_id );
?>

<!-- Stampa un link a questa categoria -->
<a href="<?php echo esc_url( $category_link ); ?>" title="Nome della Categoria">Nome della Categoria</a>

http://codex.wordpress.org/Function_Reference/get_category_link

20 mar 2014 02:51:01
0

Specifico per la tua richiesta, prova questo:

<li><a href="<?php echo home_url() ?>/category/Gadget"> Gadget</a></li>
31 lug 2013 06:26:44
0

usa wp_list_categories('include=3,5,9,16');, sostituisci "3,5,9,16" con gli ID delle tue categorie (separati da virgola)

un altro metodo

get_category_link( $category_id );

vedi il codex di WordPress qui

Un ulteriore metodo è creare un menu di categorie nell'admin e stamparlo nel tuo tema (se il tema supporta i menu)

31 lug 2013 06:37:55
0

get_site_url() restituisce una stringa con l'URL, non lo stampa. Quindi puoi provare

<?php echo get_site_url(); ?>

o meglio:

<?= get_site_url(); ?>
31 lug 2013 09:02:28