Как создать динамическую навигацию / меню, используя идентификаторы разделов? - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу получить пользовательскую функцию, которую я могу включить с помощью шорткода на разных страницах веб-сайта, созданного с помощью WordPress / Elementor.Сайты содержат различные разделы (которые в конечном HTML-коде имеют теги и определенный идентификатор), и цель состоит в том, чтобы реализовать функцию, которая «сканирует» страницу, на которую она вставлена ​​/ вызывается, для идентификаторов всех содержащихся разделов, а затем создаетменю с идентификаторами этих разделов.

Основная проблема, которую я имею, состоит в том, чтобы получить идентификаторы разделов.Создание самого меню, которое я могу обработать.

Я бы предпочел решение на основе PHP.Однако я не могу включить PHP-код непосредственно на страницу, но мне нужно включить его в functions.php, а затем использовать шорткод.

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

Одна из вещей, которые я нашел, вставлена ​​ниже.Проблема в том, что $ html не определен (конечно).Как я могу получить HTML конкретной страницы здесь?Я попытался проверить определение $ html с помощью некоторого HTML-кода и разделов с идентификаторами, но он все еще не работал, потому что find () также не определена ...?

function custom_submenu(){
echo '<ul class="anchor-menu">';
foreach($html->find('section') as $element){ 
       $idSection=$element->getAttribute('id');
       $menuElement .= '<li><a id="menu-'.$idSection.'" href="#'.$idSection.'" ><span>'.$idSection.'</span></a></li>';
       echo $menuElement;
       }
echo '</ul>';
}

...