UPDATE: Pertanyaan asli saya telah dipecahkan, tetapi ini berubah menjadi diskusi yang valid tentang mengapa tidak menggunakan variabel global, jadi saya memperbarui pertanyaan untuk mencerminkan itu. Solusinya adalah <?php global $category_link_prop; echo esc_url( $category_link_prop ); ?>
seperti yang disarankan @TomJNowell.
UPDATE 2: Saya sekarang melakukan apa yang saya inginkan. Tapi saya masih menggunakan lingkup global dan akan senang menemukan cara yang lebih baik.
Saya mencoba mengatur sejumlah variabel global untuk permalink ke kategori yang akan digunakan di berbagai tempat dalam tema saya. Alasan utama untuk ini adalah untuk digunakan di kedua navigasi utama, serta dalam serangkaian sub navigasi yang dipilih berdasarkan pada kategori apa posting saat ini masuk. Ini bukan tema saya akan merilis untuk digunakan oleh orang lain, tetapi dibangun untuk satu tujuan yang sangat spesifik.
Inilah cara saya membuat mereka saat ini (saya hanya menempelkan beberapa variabel).
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' );
Sekarang saya bisa melakukan <?php global $prop; echo $prop; ?>
4 tempat yang masuk dan mendapatkan kembali seluruh tautan untuk kode. Ketika itu berubah, saya hanya perlu mengubahnya di satu tempat. Saya terbuka untuk alternatif yang tidak melibatkan lingkup global.