Изменение URL в wp_nav_menu WordPress + Symfony

В моем проекте Symfony я пытаюсь использовать WordPress для бесплатного удобного менеджера контента. Моя проблема в том, что когда я пытаюсь открыть меню WordPress, например:

    $menu = wp_nav_menu( array(
'menu_id'   => 'top-menu',
) );

Элементы меню «Конечно» ссылаются на URL-адреса, например:

/wordpressfolder/page-item

И дело в том: как изменить это на:

/somethinganother/page-item

?

Я хочу сделать это, потому что я изменил стандартную маршрутизацию CMS, поэтому я должен быть последовательным, чтобы проект выглядел профессионально.

Конечно, я не возражаю против опции js, потому что она очевидна, но я хочу сделать это на сайте сервера, если это возможно.

0

Решение

Вы можете использовать один из фильтров WordPress. В следующем примере кода показан способ, которым вы можете использовать.

function mmn_main_item_rewrite( $items, $args )
{
foreach ( $items as $item ) {
$item->url = str_replace( 'wordpressfolder', 'somethinganother', $item->url );
}

return $items;
}
add_filter( 'wp_nav_menu_objects', 'mmn_main_item_rewrite', 10, 2 );

Просто добавьте этот кусок кода в файл functions.php в вашей активной папке тем WordPress. Всегда используйте дочерние темы WordPress для индивидуальных изменений.

Подробнее о хуке wp_nav_menu_objects в документации WordPress: https://developer.wordpress.org/reference/hooks/wp_nav_menu_objects/

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]