Intereting Posts
Как получить сообщение из чистого интерфейса AJAX (используя только идентификатор сообщения)? Тессерактная детская тема загружается медленно Как получить пользовательский пост от автора? Перенаправить пользователей после регистрации (первый вход) и отправить силу Архивный комментарий без перемещения к спаму / корзине Показать заголовок сообщения на странице прикрепления отдельного изображения Tricky WP Query Удалить строку запроса, кроме как из google map api Зависимость подключаемого модуля третьей стороны – как правильно загружать классы Доступ к переменным экземпляра из WP_Query Порядок сортировки атрибутов при использовании get_the_terms Существует ли верхний предел для пользователей в WP? Как использовать несколько доменов в одной многоузловой установке? Admin ToolBar не отображается в верхней части сайта Slug Taken, Cant Найти какую страницу

Добавьте #hash в ссылки в моем пользовательском меню

Я создал статическую главную страницу, где я загружаю содержимое всех моих страниц. Теперь у меня есть обычное пользовательское меню, но ссылки ссылаются на страницы, например: http://mysite.com/about

Теперь я хочу, чтобы ссылка была направлена ​​на страницу с помощью http://mysite.com/#about .

Теперь у меня есть пользовательский ходок, который я использую, и я пробовал следующий код:

$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( get_bloginfo('url').'#'.$item->title ) .'"' : ''; 

Теперь это работает нормально, за исключением самой домашней ссылки. Домашняя страница связана с http://mysite.com/#home , но для этого нужно просто связать ссылку http://mysite.com/#

Есть ли что-то другое, что я мог бы использовать тогда $item->title для добавления.

Если вы хотите узнать метод, который я использую для создания одной страницы:
Создание современной компоновки html5 css3 для одной страницы в wordpress

=============== Обновление ===================

Просто хотел сказать вам, ребята, что я сделал, может быть, это помогает кому-то.

Страницы структурированы следующим образом:

 Home (public) -> cutom menu item -> [link:#][label:home] portfolio (private) -> cutom menu item -> [link:#portfolio][label:portfolio] contact (private) -> cutom menu item -> [link:#contact][label:contact] blog (public) -> page menu item -> [link:blog][label:blog] 

Дом и блог будут проиндексированы и видны. портфолио и контакты загружаются в дом, который является front_page.php.

Обратите внимание, что я использую относительные ссылки , а не абсолютный вывод html будет href = "# contact".

Теперь, когда это будет похоже на конфликт на странице блога, ссылки станут http://mysite.com/blog/#contact . Мы не хотим этого, мы хотим просто http://mysite.com/#contact

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

 if($item->object == 'custom'){ $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr(get_bloginfo('url').'/'.$item->url ) .'"' : ''; }else{ $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; } 

Источник для полного ходока можно найти здесь: Описание пунктов меню? Пользовательский ходок для wp_nav_menu ()

Теперь следующее: 1) иметь хороший эффект прокрутки (jquery scrollto), когда ссылки нажимаются на главной странице; 2) перенаправляться в блог при нажатии ссылки на блог; 3) перенаправляться обратно в правый раздел, когда hashlink нажмите на странице блога.

Скрипт для jQuery

 $(document).ready(function() { $('.menu-item-object-custom a').bind('click', function(e) { e.preventDefault(); var parts = ($(this).attr("href")).split("#"); var target = '#' + parts[1]; if($('body.home').length){ var moveto = $(target).length ? $(target).offset().top : 0; $('html, body').stop().animate({ scrollTop: moveto }, 1500, function() { location.hash = target; }); return false; }else{ window.location = $(this).attr("href"); } }); }); 

Обратите внимание, что URL-адрес в браузере также изменен, поэтому кнопка «Назад» также работает, и есть простая закладка.

Спасибо за все предложения и вдохновение! И я надеюсь, что кто-то сможет это использовать.

Solutions Collecting From Web of "Добавьте #hash в ссылки в моем пользовательском меню"

Идти к

Внешний вид -> Меню -> Создать новое меню -> Добавить свою ссылку как пользовательскую ссылку

Вы можете сделать это с помощью JavaScript, захватив любые клики в меню и прокручивая страницу. Вот пример использования jQuery, который соответствует заголовку ссылки на содержимое h1 и прокручивает страницу к ней.

 <script type="text/javascript"> jQuery(document).ready(function($) { $('ul#main-menu a').click(function(){ thisTitle = $(this).attr('title'); $('html,body').animate({ scrollTop: $("h1:contains('"+ thisTitle +"')").offset().top },'slow'); return false; }); }); </script> 

ваше меню …

 <ul id="main-menu"> <li><a href="/about/" title="About">About</a></li> </ul> 

а затем ваш заголовок где-то на странице …

 <h1>About</h1> 

конечно, требует, чтобы JavaScript был включен, но вы могли бы настроить свою тему с помощью резервного шаблона для рендеринга отдельных страниц в редком случае, когда ваши посетители не имеют js, и переходят непосредственно на страницу. Просто убедитесь, что эти страницы не индексируются поисковыми системами.

Страница администрирования меню пользовательской навигации позволяет вам установить четыре дополнительных свойства (их можно включить, включив их в разделе «Параметры экрана» в верхней части страницы):

  • Целевая ссылка
  • Классы CSS
  • Связь связи (XFN)
  • Описание

Но если вам нужно использовать только первую страницу в качестве исключения, не проще ли просто проверить ссылку и, если она есть на первой странице, не использовать заголовок?