এপিআই ফাংশনগুলির মাধ্যমে, আমি একটি নতুন নেভিগেশন মেনু সংজ্ঞায়িত করতে চাই , এটি বর্তমান থিমে নির্বাচন করতে এবং তারপরে মেনু আইটেম হিসাবে কয়েকটি পৃষ্ঠাগুলি সন্নিবেশ করতে চাই। এটি কোনও থিম অ্যাক্টিভেশন হিসাবে উদাহরণস্বরূপ করা উচিত।
নেভিগেশন মেনু এবং আইটেমগুলি ম্যানুয়ালি সেটআপ করার পরে ডাটাবেস সন্নিবেশ এবং আপডেটগুলির বিপরীত প্রকৌশল প্রক্রিয়াটির মাধ্যমে (মাঝারিভাবে বেদনাদায়ক) প্রক্রিয়াটির মাধ্যমে আমি নীচের পদক্ষেপগুলি একসাথে বেঁধেছি, যেখানে 'ফুটার-এনএভি' নেভিগেশন মেনু আইয়ের স্লাগ আইডি ' আমি তৈরি করছি:
if (!term_exists('footer-nav', 'nav_menu')) {
$menu = wp_insert_term('Footer nav', 'nav_menu', array('slug' => 'footer-nav'));
// Select this menu in the current theme
update_option('theme_mods_'.get_current_theme(), array("nav_menu_locations" => array("primary" => $menu['term_id'])));
// Insert new page
$page = wp_insert_post(array('post_title' => 'Blog',
'post_content' => '',
'post_status' => 'publish',
'post_type' => 'page'));
// Insert new nav_menu_item
$nav_item = wp_insert_post(array('post_title' => 'News',
'post_content' => '',
'post_status' => 'publish',
'post_type' => 'nav_menu_item'));
add_post_meta($nav_item, '_menu_item_type', 'post_type');
add_post_meta($nav_item, '_menu_item_menu_item_parent', '0');
add_post_meta($nav_item, '_menu_item_object_id', $page);
add_post_meta($nav_item, '_menu_item_object', 'page');
add_post_meta($nav_item, '_menu_item_target', '');
add_post_meta($nav_item, '_menu_item_classes', 'a:1:{i:0;s:0:"";}');
add_post_meta($nav_item, '_menu_item_xfn', '');
add_post_meta($nav_item, '_menu_item_url', '');
wp_set_object_terms($nav_item, 'footer-nav', 'nav_menu');
}
এটি কাজ করে বলে মনে হচ্ছে তবে:
- এটি কি এটি করার একটি দৃust় এবং মার্জিত উপায়?
- আমি কি পুরোপুরি সুস্পষ্ট কিছু মিস করছি যা কোডের এক লাইনে এই সব করবে?