Bagaimana cara mendapatkan judul menu saat ini sebagai variabel?
10
Apakah mungkin untuk mendapatkan item menu saat ini sebagai variabel php?
Saya mendaftarkan kategori museum melalui item menu 'museum yang kami dukung' jadi saya ingin mendapat sedikit 'museum yang kami dukung' dan tampilkan di suatu tempat?
Ini dimungkinkan dengan memfilter wp_nav_menu_objects, yang merupakan tempat termudah untuk memeriksa item mana yang merupakan item menu saat ini, karena WordPress telah menambahkan kelas untuk Anda .
halo Jan - hanya ingin tahu apakah ada cara untuk membuat array dari $ menu_item-> anak-anak item saat ini? Mencoba beberapa hal tetapi tidak terlalu jauh ..!
v3nt
dikelola ini dengan bantuan filter Anda - jawab di bawah. Bersulang!
v3nt
Jan Fabry / Saya mencoba menggunakan wpse16243_wp_nav_menu_objectsuntuk mengambil ID menu saat ini. Tapi itu tidak konsisten. Beralih antara beranda dan item menu tidak selalu memberi saya item menu yang benar - ini semacam "kelambatan". Adakah saran tentang bagaimana saya dapat mengambil ID menu saat ini?
Steven
Apakah ada alasan mengapa Anda mendahului nama fungsi wpse16243? Saya melihat jenis nama aneh ini cukup umum dan bertanya-tanya tentang apa semua ini. Penafian: Wordpress noob.
Stephen Watkins
2
@ Steve: Hanya awalan yang unik: WordPress Stack Exchange question number 16243. Jika orang langsung menyalin kode ini, itu tidak akan bertentangan dengan plugin lain yang mungkin berbagi nama fungsi yang sama.
<?phpfunction my_get_menu_item_name( $loc ){global $post;
$locs = get_nav_menu_locations();
$menu = wp_get_nav_menu_object( $locs[$loc]);if($menu){
$items = wp_get_nav_menu_items($menu->term_id);foreach($items as $k => $v){// Check if this menu item links to the current pageif($items[$k]->object_id == $post->ID){
$name = $items[$k]->title;break;}}}return $name;}
Kemudian memanggil functiondengan nama lokasi dari menu nav Anda ingin gunakan:
"Museum yang Kami Dukung" dihasilkan oleh Judul Posting, Judul Halaman, Judul Kategori, dll. (Atau, jika Anda menggunakan Menu Navigasi Kustom, itu bisa menjadi Judul kustom).
Apa yang Anda coba lakukan dengan teks ini? Di mana Anda mencoba menampilkannya? Saya berasumsi Anda mencoba untuk menampilkannya di Halaman Indeks Kategori (karena Anda mengindikasikannya current-menu-item)? Jika demikian, cukup panggil <?php single_cat_title(); ?>untuk menampilkan Judul Kategori.
Jika Anda memerlukan informasi kategori tambahan, Anda dapat menggunakan sesuatu seperti:
$cat = get_the_category();
$currentcat = $cat[0];
Yang menyediakan variabel-variabel berikut:
$currentcat=>cat_ID // Category ID
$currentcat=>cat_name // Category Name (Same as Title)
$currentcat=>category_nicename // Category Slug
$currentcat=>category_description // Category Description
$currentcat=>category_count // Category Count (# of Posts w/ this Category)
Jika Anda berada di tempat lain selain Halaman Indeks Kategori, Anda harus memberikan $ catid ke fungsi-fungsi ini.
EDIT:
Karena Anda menyatakan bahwa "Museum Kami Mendukung" adalah Judul Menu kustom, pendekatan termudah adalah mengubah nama Kategori dari "Museum" menjadi "Museum Kami Mendukung" (catatan: Anda dapat membiarkan siput museums,, tidak berubah). Namun, melakukan hal itu berarti bahwa "Museum Kami Mendukung" akan ditampilkan sebagai Judul Kategori di mana pun itu akan ditampilkan dalam template Anda. Jika itu bisa diterima, maka jangan khawatir.
Jika tidak, Anda harus menggunakan sesuatu seperti wp_get_nav_menu_items()( Ref Codex ) untuk meraih Judul untuk item menu tertentu.
hei chip - ini halaman ini; bfami.modernactivity.co.uk/category/museum jadi pada dasarnya kucing adalah 'museum' tetapi saya ingin menunjukkan 'MUSEUMS WE SUPPORT' yang merupakan label navigasi (judul khusus) yang diatur di halaman menu. Pikirkan itu mungkin untuk mengambil itu entah bagaimana?
v3nt
Itu membantu. Lihat jawaban saya edit. Anda memiliki beberapa opsi: ganti nama Kategori, atau gunakan wp_get_nav_menu_items().
Chip Bennett
Cheers Chip - baru saja mengubah judul kategori pada akhirnya! Hanya berpikir akan ada cara mudah untuk mengambil label menu ...
wpse16243_wp_nav_menu_objects
untuk mengambil ID menu saat ini. Tapi itu tidak konsisten. Beralih antara beranda dan item menu tidak selalu memberi saya item menu yang benar - ini semacam "kelambatan". Adakah saran tentang bagaimana saya dapat mengambil ID menu saat ini?wpse16243
? Saya melihat jenis nama aneh ini cukup umum dan bertanya-tanya tentang apa semua ini. Penafian: Wordpress noob.WordPress Stack Exchange question number 16243
. Jika orang langsung menyalin kode ini, itu tidak akan bertentangan dengan plugin lain yang mungkin berbagi nama fungsi yang sama.Anda bisa menggunakannya
wp_get_nav_menu_items()
. Berikut ini contohnyafunction
:Kemudian memanggil
function
dengan nama lokasi dari menu nav Anda ingin gunakan:sumber
sumber
Saya tidak yakin saya benar-benar mengikuti.
"Museum yang Kami Dukung" dihasilkan oleh Judul Posting, Judul Halaman, Judul Kategori, dll. (Atau, jika Anda menggunakan Menu Navigasi Kustom, itu bisa menjadi Judul kustom).
Apa yang Anda coba lakukan dengan teks ini? Di mana Anda mencoba menampilkannya? Saya berasumsi Anda mencoba untuk menampilkannya di Halaman Indeks Kategori (karena Anda mengindikasikannya
current-menu-item
)? Jika demikian, cukup panggil<?php single_cat_title(); ?>
untuk menampilkan Judul Kategori.Jika Anda memerlukan informasi kategori tambahan, Anda dapat menggunakan sesuatu seperti:
Yang menyediakan variabel-variabel berikut:
Jika Anda berada di tempat lain selain Halaman Indeks Kategori, Anda harus memberikan $ catid ke fungsi-fungsi ini.
EDIT:
Karena Anda menyatakan bahwa "Museum Kami Mendukung" adalah Judul Menu kustom, pendekatan termudah adalah mengubah nama Kategori dari "Museum" menjadi "Museum Kami Mendukung" (catatan: Anda dapat membiarkan siput
museums
,, tidak berubah). Namun, melakukan hal itu berarti bahwa "Museum Kami Mendukung" akan ditampilkan sebagai Judul Kategori di mana pun itu akan ditampilkan dalam template Anda. Jika itu bisa diterima, maka jangan khawatir.Jika tidak, Anda harus menggunakan sesuatu seperti
wp_get_nav_menu_items()
( Ref Codex ) untuk meraih Judul untuk item menu tertentu.sumber
wp_get_nav_menu_items()
.