Установка статической страницы в качестве главной страницы не выделяет ссылку меню, которая лежит в основе вопроса.
Итак, вы можете настроить серверную часть (взломать) функцию wp_list_pages, но вот вариант на стороне клиента, если вы так решите:
Используйте библиотеку jQuery (удобно она поставляется с WP 2.2+), позвоните:
wp_enqueue_script('jquery');
или загрузите собственную версию:
wp_enqueue_script( 'jquery', '/path/to/your/jquery.js', false, '1.2.1');
Теперь добавьте немного javascript в ваш шаблон, что-то вроде:
if(window.location.href == 'http://www.example.com/'){ //checks for root path - "home" ('http://www.example.com/?p=7' or 'http://www.example.com/2008-10/7' will not match)
jQuery('#nav > ul > li > a:first').addClass('current_page_item');
}
Часть a: first предполагает, что первой ссылкой в вашем меню является ссылка home / frontpage. Если это не так, выберите через href значение или позицию. Вот положение:
~~~~~~~~~~~~~~~
jQuery(jQuery('#nav > ul > li > a')[3]).addClass('current_page_item'); //add 'current_page_item' css class so menu item highlighting occurs
* * Пример тысяча двадцать-один: * * 1 022
Предостережения:
- Проверьте фактическое имя вашего id div меню ( # nav здесь показано)
- Вложенная структура меню ul / li (более одного уровня) потребует дополнительного кода для правильного выбора правильного a элемента.
- Если ссылки меню будут меняться, не используйте технику позиционного выбора, используйте другой хук, например значение href ссылки на домашнюю / главную страницу.
- Часть if (window.location.href == 'http://www.example.com/'), возможно, должна быть регулярным выражением, если требуется больше вариантов (https, несколько поддоменов и т. Д.).