আপনার কোডের সমস্যাটি হ'ল এটি মেনুতে লিঙ্কগুলি যুক্ত না করে শুধুমাত্র মেনুতে আউটপুট দেয়, সুতরাং একটি ফিল্টার (অ্যাড_ফিল্টার) ব্যবহার করে আপনি মেনুটির আউটপুট কেবল ফিল্টার করে নিচ্ছেন এমনকি যদি আপনি না করেন তবে আপনি যে কোডটি ব্যবহার করছেন তাতে আপনার লিঙ্কটি প্রদর্শিত হবে একটি মেনু রয়েছে। তবে একটি লিঙ্ক তৈরি করতে এবং এটি একটি মেনুতে যুক্ত করতে আপনি এই কোডটি ব্যবহার করতে পারেন:
$run_once = get_option('menu_check');
if (!$run_once){
//give your menu a name
$name = 'theme default menu';
//create the menu
$menu_id = wp_create_nav_menu($name);
//then get the menu object by its name
$menu = get_term_by( 'name', $name, 'nav_menu' );
//then add the actuall link/ menu item and you do this for each item you want to add
wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Home'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'));
//then you set the wanted theme location
$locations = get_theme_mod('nav_menu_locations');
$locations['main-menu'] = $menu->term_id;
set_theme_mod( 'nav_menu_locations', $locations );
// then update the menu_check option to make sure this code only runs once
update_option('menu_check', true);
}
এটিকে আরও সহজ করার জন্য আমি সর্বত্র মন্তব্য করেছি।
একটি শিশু পৃষ্ঠা / উপ পৃষ্ঠা / দ্বিতীয় স্তরের মেনু তৈরি করতে (আপনি কখনই এটি কল করতে পারেন), আপনাকে কেবল menu-item-parent-idনতুন আইটেমটিতে সেট করতে হবে উদাহরণস্বরূপ:
//create the top level menu item (home)
$top_menu = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Home'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => 0,
));
//Sub menu item (first child)
$first_child = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('First_Child'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => $top_menu,
));
//Sub Sub menu item (first child)
$Second_child = wp_update_nav_menu_item($menu->term_id, 0, array(
'menu-item-title' => __('Second_Child'),
'menu-item-classes' => 'home',
'menu-item-url' => home_url( '/' ),
'menu-item-status' => 'publish'
'menu-item-parent-id' => $first_child,
));
এছাড়াও আপনি কোড সহ অবস্থানটি সেট করতে পারেন menu-item-position
এবং আমি মনে করি এটি এর মতো হয়ে গেছে:
- প্রথম আইটেম - 'মেনু-আইটেম-অবস্থান' => 1
- প্রথম আইটেম প্রথম শিশু - 'মেনু-আইটেম-অবস্থান' => 1
- প্রথম আইটেম দ্বিতীয় শিশু - 'মেনু-আইটেম-অবস্থান' => 1
- প্রথম আইটেম দ্বিতীয় সন্তানের প্রথম শিশু - 'মেনু-আইটেম-অবস্থান' => 1
- দ্বিতীয় আইটেম - 'মেনু-আইটেম-অবস্থান' => 2
- তৃতীয় আইটেম - 'মেনু-আইটেম-অবস্থান' => 3
- চতুর্থ আইটেম - 'মেনু-আইটেম-অবস্থান' => 4