Ottenere l'URL della categoria per il post corrente

20 lug 2017, 15:06:06
Visualizzazioni: 18.9K
Voti: 0

Sto utilizzando questo codice per recuperare la categoria del post corrente.

<?php $category = get_the_category();
$firstCategory = $category[0]->cat_name; echo $firstCategory;?>

Come potrei ottenere l'URL della categoria senza eseguire un'altra query al database?

0
Tutte le risposte alla domanda 1
5

Passa l'ID della categoria in get_category_link():

<?php
$category = get_the_category();
$link = get_category_link( $category[0]->term_id );
?>

Aggiornamento Output nel template:

<?php
$category = get_the_category();
$first_category = $category[0];
echo sprintf( '<a href="%s">%s</a>', get_category_link( $first_category ), $first_category->name );
?>
20 lug 2017 15:36:25
Commenti

Non esegue un'altra query al database. Tutto il necessario per costruire l'URL è stato restituito quando la categoria è stata interrogata per la prima volta e inserita nella cache degli oggetti. Ho appena fatto un rapido test e aggiungere get_category_link non ha aumentato il numero di query secondo Query Monitor.

Jacob Peattie Jacob Peattie
20 lug 2017 15:48:14

ok questo sembra promettente... sto avendo difficoltà a mettere insieme questo come <a href="$link">$category</a>. potresti aiutarmi per favore?

JoaMika JoaMika
20 lug 2017 16:31:45

Ho aggiornato la mia risposta.

Jacob Peattie Jacob Peattie
20 lug 2017 16:37:04

Nessun problema. Se puoi accettare la mia risposta sarebbe fantastico ;)

Jacob Peattie Jacob Peattie
20 lug 2017 17:08:10

Funziona perfettamente su 2023, grazie

Nuno Sarmento Nuno Sarmento
27 giu 2023 00:40:35