Intereting Posts
JavaScript в WordPress Customizer Замена отображаемого имени по умолчанию для имени входа Прикрепленное сообщение появляется дважды Как ссылаться на текущую страницу профиля пользователя / автора? Как получить данные из Advanced Custom post при поиске определенного ключевого слова или имени поля, связанного с этим сообщением? Различные RSS-ленты в одном виджетах панели инструментов Как скопировать пользовательское поле из CPT пользователя в обычные сообщения пользователя Галерея фотографий эскизов Многоуровневые сообщения в категориях в сети Как может возникнуть или измениться .htaccess с аутентификацией? Создание пользовательского виджета, который включает в себя тинимус и работает в Site Origin Page Builder Можно ли выводить сообщения с коротким кодом? С плагином Yoast SEO, можно ли сделать мета-описание обязательным полем формы? Незащищенная страница появляется защищенной, когда она отправляется в Facebook (S2Member) Когда использовать глобальные $ post и другие глобальные переменные?

Как проверить, активна ли страница блога

Потерпите меня здесь, когда я объясню свою проблему.

Сгенерированное меню через wp_nav_menu, поэтому я использую класс .current_page_item. Дело в том, что я использовал jQuery, чтобы заменить сгенерированный текст ссылки на некоторые пользовательские изображения, которые я создал, и теперь я должен использовать jQuery для замены изображения, чтобы кнопка выглядела «подчеркнутой». Теперь я заработал для всех моих страниц EXCEPT для страницы блога. Страница «Блога» указана на вкладке «Настройки»> «Чтение» и на главной странице = «Главная страница, страница блога = блог».

Вот мой код jQuery, чтобы проверить, является ли текущая страница блогом:

$('#menu-item-75 a').empty() .append('<img id="blog-btn" src="<?php bloginfo('template_url'); ?>/images/blog-btn.png" />'); // tests if blog page is active, swaps images depending on test result <?php if (is_page('Blog')) { ?> $('#menu-item-75 img').attr('src', '<?php bloginfo('template_url'); ?>/images/blog-btn-hover.png'); <?php } else { ?> $('#menu-item-75 img').mouseenter(function () { $(this).attr('src', '<?php bloginfo('template_url'); ?>/images/blog-btn-hover.png'); }).mouseleave(function() { $(this).attr('src', '<?php bloginfo('template_url'); ?>/images/blog-btn.png'); }) <?php } ?> 

Любая помощь / советы / советы будут очень признательны! Спасибо!

* EDIT * Проблема еще не решена, ОДНАКО, я думаю, что приближаюсь. Я попробовал еще несколько вещей:

  <?php if (is_page(get_option('page_for_posts'))) { ?> // doesn't work <?php if (get_option('page_for_posts')) { ?> // WORKS, but leaves menu item underlined all the time instead of only if the blog page is active 

Как я могу проверить это в противном случае, поэтому элемент меню блога подчеркивается только когда страница активна?

Solutions Collecting From Web of "Как проверить, активна ли страница блога"

Существует опция сайта для page_for_posts , поэтому вы можете попробовать if ( is_page( get_option('page_for_posts') ) ) .

Изменить. Согласно Codex, is_home() сообщит вам, если вы находитесь на странице блога, когда у вас есть статическая передняя страница: http://codex.wordpress.org/Conditional_Tags#The_Main_Page . В настоящий момент я не могу проверить это правильно, но если это правда, то это должно быть то, что вы ищете. Наверное, мне не приходилось делать это раньше, очень хорошо знать.

ПОСТАНОВИЛИ

Egads! После многих испытаний я нашел сообщение где-то, в котором упоминалась глобальная переменная $ pagename для ссылки на страницу. Вот мой рабочий тест, чтобы увидеть, активна ли страница блога (slug – это «блог»):

  <?php if ($pagename == 'the-blog') { ?> 

Достаточно просто, а? Спасибо @helenhousandi за советы и советы!