আমি এই সাইটে অনুসন্ধান করেছি এবং এই প্রশ্নের অনেক উত্তর পেয়েছি । তাদের বেশিরভাগই আমার থিমটিতে কাজ করছেন না।
এখানে আমি একটি সমাধান পেয়েছি এবং এটি আমার প্রয়োজন অনুসারে কাজ করছে।
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
এই কোডটি ul
শুরুতে এবং এর শেষে সরিয়ে ফেলবে wp_nav_menu()
। তাই আমার থিমটিতে আমি কেবল লিখি
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
তবে অ্যাডমিনের মাধ্যমে আমি যখন কোনও মেনু যুক্ত বা সক্রিয় না করি তখন আবার সমস্যা চলে আসে। http://domain.com/wp-admin/nav-menus.php
প্রশ্ন:
<div><ul>**</ul></div>
মেনুটি সক্রিয় আছে কিনা তা আমি কীভাবে সরিয়ে ফেলব । আমাকে জানতে দাও
অবশেষে আমি এটি কাজ পেয়েছিলাম :) functions.php
function wp_nav_menu_no_ul()
{
$options = array(
'echo' => false,
'container' => false,
'theme_location' => 'primary',
'fallback_cb'=> 'default_page_menu'
);
$menu = wp_nav_menu($options);
echo preg_replace(array(
'#^<ul[^>]*>#',
'#</ul>$#'
), '', $menu);
}
function default_page_menu() {
wp_list_pages('title_li=');
}
header.php
<ul class="primary-nav">
<?php wp_nav_menu_no_ul(); ?>
</ul>
menu_class
এবং menu_id
মেনু সক্রিয় হলে কেবলমাত্র কাজ করবে। বিদ্যমান নয় মেনু হলে menu_class
এবং menu_id
যেমন নয় <ul>
কিন্তু <div>
। কেন wp_nav_menu()
আপনার সম্পর্কে খুব বেশি প্রশ্ন এটি পরীক্ষা করতে পারে :)
menu_class
এবংmenu_id
পরামিতি ব্যবহার করতে পারেন ।