আমি আমার নেভিগেশনকে তিনটি একক নেভিগেশন বারগুলিতে বিভক্ত করার চেষ্টা করি (স্তর 1, স্তর 2 এবং স্তর 3 +)। তিনটি কারণ তারা সাইটের উপর বিচ্ছিন্ন এবং তারা কেবল বর্তমান পৃষ্ঠার উপর নির্ভর করে উপস্থিত হওয়া উচিত appear
-0-------1--------2-------3+- level/depth
Home
|
|\___ Lobby
|
|\___ Projects
| |\___ Project A
| | |\___ Review
| | |\___ Comments
| | \____ Download
| \____ Project B
| |\___ Review
| |\___ Comments
| \____ Download
|\___ Blog
|
\____ About
|\___ Legal
\____ Contact
স্তরের 1 সহ প্রথম নভবারটি সর্বদা দৃশ্যমান। দ্বিতীয় নাবারটি (স্তর 2) কেবলমাত্র যখন বর্তমানে সম্পর্কিত প্যারেন্ট পৃষ্ঠায় থাকে। তৃতীয় নববারের ক্ষেত্রেও এটি একই রকম হয় (স্তর 3+, প্লাস কারণ এই নভবারটিতে উপ পৃষ্ঠাগুলি এবং সাবউব পৃষ্ঠা থাকবে ... স্তর 3)।
সংক্ষেপে: আমি সমস্ত পিতামাতার মেনুগুলি তাদের নাবারগুলিতে এবং কেবল বর্তমান পৃষ্ঠার প্রত্যক্ষ শিশুদেরই প্রদর্শন করতে চাই।
আমি যা চেষ্টা করেছি:
function my_nav_menu( $args = array() )
{
$echo = isset( $args['echo'] ) ? (bool)( $args['echo'] ) : true;
$args['echo'] = false;
add_filter( 'wp_get_nav_menu_items' , 'my_nav_menu_filter' , 666 , 3 );
$menu = wp_nav_menu( $args );
remove_filter( 'wp_nav_menu_objects' , 'my_nav_menu_filter' , 666 );
if( $echo )
echo $menu;
else
return $menu;
}
function my_nav_menu_filter( $items , $menu , $args )
{
//var_dump( $args );
$navLevel = isset( $args['navlevel'] ) ? (int)( $args['navlevel'] ) : 0;
//echo 'navlevel = ' . $args['navlevel'] . ' | ' . $navLevel;
if( $navLevel == 1 )
{
foreach( $items as $key => $item )
{
if( $item->menu_item_parent != 0 )
unset( $items[$key] );
}
}
else if( $navLevel == 2 )
{
foreach( $items as $key => $item )
{
if( $item->menu_item_parent != 0 )
{
$page = get_page( $item->menu_item_parent );
if( $page->menu_item_parent == 0 )
continue;
}
unset( $items[$key] );
}
}
else if( $navLevel == 3 )
{
foreach( $items as $key => $item )
{
if( $item->menu_item_parent != 0 )
{
$page = get_page( $item->menu_item_parent );
if( $page->menu_item_parent != 0 )
continue;
}
unset( $items[$key] );
}
}
else
{
//var_dump( $items );
}
return $items;
}
এটিকে আমার শিরোনামে ডেকে আছি ph পিপিপি:
<?php my_nav_menu( array( 'echo' => false , 'navlevel' => 1 ) ); ?>
তবে $args
ডিফল্ট মানগুলিতে সেট করা আছে এবং আমার কাস্টম এন্ট্রি navlevel
ফিল্টারটিতে প্রদর্শিত হয় না।
বর্ণিত হিসাবে আমি কীভাবে আমার নাবারকে বিভক্ত করতে পারি? আমি কীভাবে আমার কাস্টম- $args
কেন্দ্র স্থাপন করব ?