Я создаю тему одной страницы в WordPress с использованием Timber, но я немного новичок в этом, поэтому я немного потерял что-то, что, вероятно, довольно просто. Я просто хочу преобразовать ссылки на хеш-ссылки с фильтром, но я даже не могу заставить фильтр работать без ошибок (я просто получаю сломанный сайт, когда добавляю его, как показано ниже). Вот то, что мой functions.php
выглядит в моей теме (конспект):Фильтр ссылок на листы на ссылках меню
class SIDSite extends TimberSite {
function __construct() {
add_theme_support('post-formats');
add_theme_support('post-thumbnails');
add_theme_support('menus');
add_filter('timber_context', array($this, 'add_to_context'));
add_filter('get_twig', array($this, 'add_to_twig'));
add_action('init', array($this, 'register_post_types'));
add_action('init', array($this, 'register_taxonomies'));
add_filter('hash_link', array($this, 'hash_link')); // Added this
parent::__construct();
}
function hash_link ($string) { // function I added, is probably not 100% right but I can't even debug it
if(substr($string, 0, 1) === '/') {
$string = substr($string, 1);
}
return '#' . $string;
}
}
А вот мой menu.twig
файл:
{% if menu %}
<ul>
{% for item in menu %}
<li class="{{item.classes | join(' ')}}">
<a href="{{item.path | hash_link}}">{{item.title}}</a>
{% include "menu.twig" with {'menu': item.get_children} %}
</li>
{% endfor %}
</ul>
{% endif %}
Я чувствую, что нужно продлить что-то другое, но добавлять мой фильтр весь сайт должен работать в моем сознании. Что я могу сделать, чтобы остановить это от сбоев моего сайта?
Какая ошибка вы получаете? – DarkBee