выделить текущую страницу в обычном навигационном баре WordPress - PullRequest
1 голос
/ 04 июня 2019

Я пытаюсь выделить страницу, на которой я нахожусь, это то, что у меня есть до сих пор

<ul class="navigation list-unstyled components">
    <li class="active">
        <a href="<?php echo site_url(); ?>">Home</a>
    </li>
    <li>
        <a href="<?php echo site_url(); ?>/contacts">Contacts</a>
    </li>
    <li>
        <a href="<?php echo site_url(); ?>/aboutus">aboutus</a>
    </li>
    <li>
        <a href="<?php echo site_url(); ?>/aboutyou">aboutyou</a>
    </li>
</ul>

Вот единственный jquery, который я пробовал до сих пор, но, похоже, он не работает:

$(".navigation a").on("click", function () {
    $(".navigation ").find(".active").removeClass("active");
    $(this).parent().addClass("active");
});

1 Ответ

1 голос
/ 04 июня 2019

Если вы создаете стандартный веб-сайт WordPress, ваши страницы будут перезагружаться при нажатии на навигационную ссылку, поэтому даже если вы установите класс с помощью jQuery, он будет сброшен при загрузке страницы.

Что выНужно сделать, чтобы установить класс элементов навигации в PHP.

Этот код просто макет, пожалуйста, настройте его под свои нужды:

$home = is_front_page();
# Checks if it's the site front page

$contacts = is_page('contacts');
# Checks if the current page is a page called 'contacts'

$aboutus = is_page('aboutus');
# Checks if the current page is a page called 'aboutus'

$aboutyou = is_page('aboutyou');
# Checks if the current page is a page called 'aboutyou'

    <ul class="navigation list-unstyled components">
                <li <?php if ($home) {echo 'class="active"';} ?>>
                    <a href="<?php echo site_url(); ?>">Home</a>
                </li>
                <li <?php if ($contacts) {echo 'class="active"';} ?>>
                    <a href="<?php echo site_url(); ?>/contacts">Contacts</a>
                </li>
                <li <?php if ($aboutus) {echo 'class="active"';} ?>>
                    <a href="<?php echo site_url(); ?>/aboutus">aboutus</a>
                </li>
                <li <?php if ($aboutyou) {echo 'class="active"';} ?>>
                    <a href="<?php echo site_url(); ?>/aboutyou">aboutyou</a>
                </li>
            </ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...