WordPress меняет положение пользовательских wp_nav_menu_items
У меня есть меню боковой панели, которое заполняется через обычное меню WordPress (Внешний вид> Меню).
У меня также есть пользовательское меню, созданное с использованием wp_nav_menu_items, которое добавляется в нижнюю часть меню WP. Моя проблема в том, что мне нужно изменить порядок этого меню. Вот как это выглядит в настоящее время:
- яблоки
- бананы
- груши
- апельсины
- Ананасы (пользовательское меню с использованием wp_nav_menu_items)
Чего бы я хотел достичь:
- яблоки
- бананы
- Ананасы (пользовательское меню с использованием wp_nav_menu_items)
- груши
- апельсины
Вот как выглядит мой код:
class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth = 0, $args = Array()) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"childnav\">\n";
}
function end_lvl(&$output, $depth = 0, $args = Array()) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul>\n";
}
}
add_filter( 'wp_nav_menu_items', 'custom_pineapple_navigation', 10, 2 );
function custom_buy_navigation ( $items, $args ) {
$your_query = new WP_Query( 'pagename=pineapples' );
while ( $your_query->have_posts() ) : $your_query->the_post();
$items .= '<li class="haschild"><a href="#">Pineapple</a>
<ul class="childnav">
<li class="breadcrumb"><a href="#">Back to main menu</a></li>
<li class="label"><a href="#">Pineapple</a></li><span class="scrollMenu scrollbar-outer">';
$customPosts = get_field('my_pineapple_custom_field');
if( $customPosts ):
foreach( $customPosts as $customPost):
setup_postdata($customPost);
$items .= '<li><a href="'.get_permalink($customPost->ID).'">'.get_the_title($customPost->ID).'</a></li>';
endforeach;
wp_reset_postdata();
endif;
$items .= '</span></ul></li>';
endwhile;
wp_reset_postdata();
// More Queries like above
return $items;
}
Есть ли способ добиться того, что я после?
1 ответ
Если я вас правильно понял, вы должны изменить свое заявление, как это
$i = 0;
if( $customPosts ):
foreach( $customPosts as $customPost):
if($i == 2) {
echo '<a href="#">Pineapple</a>';
} else {
setup_postdata($customPost);
$items .= '<li><a href="'.get_permalink($customPost->ID).'">'.get_the_title($customPost->ID).'</a></li>';
endforeach; }
$i++;