• Доброго времени форумчанам!

    такая проблема — нужно сделать активным пункты меню, то бишь чтобы в зависимости на какой странице мы сейчас находимся и подсвечивался особым образом именно тот пункт из списка меню (ну скажем стилями color и background). сделать тут — http://vernij.16mb.com
    тема — f2. тема не поддерживает создание меню, поэтому принцип такой, что все страницы что создаются автоматом попадают в горизонтальное меню (ну конечно если не редактировать строки меню в header.php), но мне нельзя редактировать, ибо ещё нужно чтоб прямо из админки мог человек далёкий от компутеров создавать вложенное меню, а тема эта это делать умеет стандартными инструментами WP.

    прочитал кучу форумов и выдачу гугла (в частности метод Ю.Б.), но то ли делаю что-то не так, то ли чего-то не понимаю…вобщем ничего пока не получилось =(
    кто может более-менее подробно описать что и как делать? или ткнуть если обсуждалось где-то… =)
    З.Ы. как делать такое на простом меню умею, где менюшка простым списком html..и делаешь через присвоение доп класса и через .active) а тут вот на php всё, и в итоге застрял! =(

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • У текущей страницы класс в меню генерируется движком
    .current_page_item { /* Здесь ваши правила */ }

    wikicms, эмм..работает вроде, но как-то некорректно)
    к примеру, прописал свойства color и background со значением red, а отображается на активной странице только 2 красные полоски вертикальные с 2-х сторон от блока пункта меню.
    скрин — http://s002.youpic.su/pictures/1353704400/4db49a2c806d29e4d278c2de63ecc6a2.jpg

    на скрине плохо наверное видно, сайт тот же вобщем))

    как поправить-то в самом css? и чтоб эффект hover сохранился, но фон активной страницы отображался полноценно (ну и цвет текста тож)?

    .current_page_item {
    color:red;
    background:red;
    z-index:9999;
    }
    #hmenu {
    	float:right;
    	width:auto;
    	border:0;
    	padding:0;
    	position:relative;
    	bottom:25px;
    	right:2px;
    	height:0;
    	margin-bottom:-23px;
    }
    #hmenu ul {
    	width:auto;
    	float:right;
    	list-style:none;
    	padding:0;
    	margin:0;
    }
    #hmenu ul li {
    	display:inline;
    	float:left;
    	width:auto;
    	padding:0;
    	margin:0;
    }
    #hmenu ul li a {
    	display:block;
    	background:#1E1E1E;
    	color:#c6c8c9;
    	padding:4px 20px;
    	margin:0 1px;
    	text-decoration:none;
    	text-transform:uppercase;
    	font-weight:bolder;
    	font-size:1.2em;
    }
    
    #hmenu ul li a:hover, #hmenu ul li.hmenu_rss a:hover {
    	background-color:#B78F64;
    	color: #fff;
    }
    #hmenu ul li ul {
    	padding:0.5px 0 0 0;
    	position:absolute;
    	display:block;
    	visibility:hidden;
    	z-index:599;
    }
    #hmenu ul li.hmenu_rss ul {
    	right:0;
    }
    #hmenu ul li:hover ul {
    	visibility:visible;
    }
    #hmenu ul ul li {
    	display:block;
    	float:none;
    	width:auto;
    }
    #hmenu ul ul a {
    	margin:1px;
    }
    #hmenu ul li.hmenu_rss a {
    	background:#27567a url('images/feed.png') no-repeat 95% 50%;
    	padding:4px 30px 4px 20px;
    }

    wikicms, упс..сорри! сам в коде не разобрался до конца, точнее перемудрил на сонную голову.
    В стилях к генерируемому классу добавил собственно сам тэг ссылки a, а уж потом прописал правила, и всё стало отображаться как положено. А чтобы и пункт меню «главная» отображался также и от того же css-правила прописал следующий код как класс, ибо пункт меню «главная» был прописан в теме как обычный элемент списка li:
    <?php if (is_home()) { echo "current_page_item"; } ?>

    Большое спасибо за помощь!

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Активный пункт меню» закрыта для новых ответов.