GÜNCELLEME: Asıl sorum çözüldü, ancak bu neden küresel değişkenleri kullanmama konusunda geçerli bir tartışmaya dönüşüyor, bu yüzden soruyu güncellemek için güncelleme yapıyorum. Çözüm <?php global $category_link_prop; echo esc_url( $category_link_prop ); ?>
@ TomJNowell'in önerdiği gibi oldu .
GÜNCELLEME 2: Şimdi tam olarak istediğim şeyi yapıyor. Ama hala küresel kapsamı kullanıyorum ve daha iyi bir yol bulmaktan mutluluk duyacağım.
Permalinklerin temalarımın çeşitli yerlerinde kullanılacak kategoriler için bir sürü küresel değişken oluşturmaya çalışıyorum. Bunun ana nedeni, hem ana navigasyonda hem de mevcut gönderinin hangi kategorideki olduğuna göre seçilen bir dizi alt navigasyonda kullanım içindir. Bu, başkaları tarafından kullanmak üzere bırakacağım bir tema değil . ama çok özel bir amaç için üretildi.
Bu, şu anda onları nasıl oluşturduğumla ilgili (değişkenlerin sadece birkaçını yapıştırdım).
function set_global_nav_var()
{
//proposal
global $prop;
// Get the ID of a given category
$category_id_prop = get_cat_ID( 'proposal' );
// Get the URL of this category
$category_link_prop = get_category_link( $category_id_prop );
$prop = '<a href="' .esc_url( $category_link_prop ). '" title="Proposal">Proposal</a>';
//Calvinball
global $cb;
// Get the ID of a given category
$category_id_cb = get_cat_ID( 'calvinball' );
// Get the URL of this category
$category_link_cb = get_category_link( $category_id_cb );
$cb = '<a href="' .esc_url( $category_link_cb). '" title="Calvinball">Calvinball</a>';
}
add_action( 'init', 'set_global_nav_var' );
Şimdi <?php global $prop; echo $prop; ?>
gidip kodun bütün linkini geri alan 4 yer bulabilirim. Bu değiştiğinde, sadece bir yerde değiştirmem gerekiyor. Global kapsamı içermeyen alternatiflere açığım.