Obține URL-ul categoriei pentru postarea curentă

20 iul. 2017, 15:06:06
Vizualizări: 18.9K
Voturi: 0

Folosesc acest cod pentru a obține categoria postării curente.

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

Cum aș putea obține URL-ul categoriei fără a rula o altă interogare în baza de date?

0
Toate răspunsurile la întrebare 1
5

Transmite ID-ul categoriei în get_category_link():

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

Actualizare Afișarea în șablon:

<?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 iul. 2017 15:36:25
Comentarii

Nu rulează o altă interogare în baza de date. Tot ce este necesar pentru a construi URL-ul a fost returnat atunci când categoria a fost interogată pentru prima dată și pus în cache-ul obiectelor. Tocmai am făcut un test rapid și adăugarea funcției get_category_link nu a crescut numărul de interogări conform Query Monitor.

Jacob Peattie Jacob Peattie
20 iul. 2017 15:48:14

ok, asta pare promițător... am probleme în a pune totul cap la cap ca <a href="$link">$category</a>. Poți să mă ajuți, te rog?

JoaMika JoaMika
20 iul. 2017 16:31:45

Am actualizat răspunsul meu.

Jacob Peattie Jacob Peattie
20 iul. 2017 16:37:04

Nicio problemă. Dacă poți accepta răspunsul meu, ar fi grozav ;)

Jacob Peattie Jacob Peattie
20 iul. 2017 17:08:10

Funcționează perfect pe 2023, mulțumesc

Nuno Sarmento Nuno Sarmento
27 iun. 2023 00:40:35