Wp_nav_menu () সহ কীভাবে বর্তমান সক্রিয় পৃষ্ঠাটি ম্যানুয়ালি নির্দিষ্ট করা যায়


9

ব্যবহার করার সময় কোন পৃষ্ঠা বর্তমানে "সক্রিয়" তা নিজেই উল্লেখ করার কোনও উপায় আছে wp_nav_menu()?

আমার একটি "পণ্য" পৃষ্ঠা রয়েছে এবং সেই পৃষ্ঠাতে আমার বিভিন্ন (গতিশীল) কাস্টম ট্যাক্সনোমির লিঙ্ক রয়েছে। আমি যখন এই শুল্কগুলির একটিতে ক্লিক করি, তখন আমি "পণ্যগুলি" পৃষ্ঠাতে wp_nav_menu()থাকি কিন্তু আমি এখনও "পণ্য" পৃষ্ঠায় রয়েছি এই তথ্যের উল্লেখ হারিয়ে ফেলে। আমি এটি ঠিক করতে পারে এমন কোন উপায় আছে?

ধন্যবাদ!

জন

উত্তর:


12

আপনি যদি কেবল current_page_itemএকটি মেনু আইটেমে ক্লাস যুক্ত করতে চান তবে আপনি nav_menu_css_classফিল্টারটি জুড়ে দিতে পারেন এবং প্রয়োজনে সেই শ্রেণিটি যুক্ত করতে পারেন। মেনুটি মুদ্রিত হলে এটি বলা হয়

আপনি যদি পুরো মেনুতে অ্যাক্সেস চান এবং ক্লাস যুক্ত করতে চান তবে wp_get_nav_menu_itemsফিল্টারটিতে হুক করুন , যেখানে আপনি পুরো $itemsঅ্যারেটি পাবেন। আপনি classesস্বতন্ত্র আইটেমগুলির বৈশিষ্ট্যগুলি সম্পাদনা করতে পারেন ।


2

@ জোন যতক্ষণ আপনি <body <?php body_class(); ?>>ওয়ার্ডপ্রেস ব্যবহার করছেন ততক্ষণ current_page_itemআপনার মেনুতে ক্লাসও নির্ধারিত হবে current_page_parentযদি আপনার ড্রপ ডাউন মেনুগুলি ব্যবহার করা হয়।


1
হাই ক্রিস, উত্তরের জন্য ধন্যবাদ। আমি <বডি <? পিএইচপি বডি_ক্লাস () ব্যবহার করছি; ? >> ট্যাগ কিন্তু সমস্যাটি হ'ল ডাব্লুপি_নাভ_মেনু () যতটা উদ্বিগ্ন তাতে ক্লিক করা আইনের সাথে সম্পর্কিত নয়! সুতরাং, আমাকে wp_nav_menu () বলতে হবে - পৃষ্ঠাটি যদি X হয় তবে "পণ্যগুলি" বর্তমান_পৃষ্ঠা_পিতা হিসাবে দেখান।
জন

0

জানুয়ারী nav_menu_css_class ফিল্টার উল্লেখ করা হয়েছে, তাই আমি এটা তাকিয়ে এই উদাহরণে আমাকে সহায়ক ছিল উত্স: https://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class

function my_special_nav_class( $classes, $item ) {
    if ( is_single() && $item->title == 'Blog' ) {
        $classes[] = 'special-class';
    }
    return $classes;
}    
add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.