Green arrow

Рейтинг
61
Регистрация
16.06.2013

Каким образом можно осуществлять вывод меток на странице с полным содержанием, чтобы ссылка метки вела на страницу поиска с уже введённым поисковым ключом в виде этой самой метки?

В данный момент вывожу теги так:

<?php	$posttags = get_the_tags();

if ($posttags) {
foreach($posttags as $tag) {
echo '<a href="/?s=' . $tag->slug . '">' . $tag->name . '</a>';
}
}
?>

Но проблема в том, что слаг, если состоит из одного и более слов, формируется в таком виде: tag-name, а для поиска надо tag+name. Может есть варианты это как-то изменить?

SeVlad:
https://developer.wordpress.org/reference/functions/wp_nav_menu/ -> walker -> гуглояндексы

Но стилями (мб в совокупности с хуками) - проще и понятней ;)

Человек умеющий читать и понимать задачу, хоть пост и напрямую не помог, но всё же спасибо.

Там не в стилях дело, надо чтобы ссылки были без обёртки, т.к. из обрабатывает js (шинкует на группы )) ).

Нагуглил англоязычный ресурс, убрал лишние контейнеры, получил нужный результат - клац

Anamnado, со стилями я разберусь сам, спасибо.

нет никакой разницы о горизонтальном или вертикальном меню речь, мне нужен php код для WP functions.php, чтобы для для определённых меню убрать оборачивание в списки.

Меню прописано не в шаблоне статично, а создано в ВП!

Anamnado:
вот так:

в CSS

#menu {
.....
}

#nemu a {
....
display:block
.....
}

в HTML

<div id = "menu">
<a.....
<a.....
<a.....
</div>

и какое отношение имеет css к поставленной задаче? я про стили ничего не спрашивал, мне нужно, чтобы ВП не оборачивал в списки определённые меню...

indenger20:
Ну, наверное, как-то так.


$(window).scroll($.debounce( 150, true, function(){
if( $(window).width() > 768 && $(window).width() < 1280 ) {
$('#super').toggleClass('one').toggleClass('two');
}

}));
$(window).scroll($.debounce( 150, function(){
if( $(window).width() > 768 && $(window).width() < 1280 ) {
$('#super').toggleClass('two').toggleClass('one');
}
}));

Спасибо, работает )

Gerga:
так зачем использовать лишнею библиотеку, если можно обойтись парой строк?
Значит вы что-то не правильно сделали, https://jsfiddle.net/webxz/ux9Lsdku/ .

Извиняюсь, действительно, как-то коряво значит опробовал.

Ок, есть два момента:

1. Допустим каждый раз при скролле проверять не нужно, но как сделать, чтобы скрипт всегда следил за разрешением экрана, чтобы в случаи выхода из предела условия исключать исполнения скрипта, а не учитывал разрешение только в момент загрузки страницы?

2. если остановиться где-нибудь ниже на странице (чтобы хоть немного оставался скролл вверх), то если обновить страницу (F5 или просто обновление) - скрипт отрабатывает и получается эффект моргания. С этим можно как-то бороться?

Gerga, а, ну так я выше написал, что нашел в совете выше библиотеку, которая так умеет.

Ваш вариант почему-то не сработал.

Да и задача сейчас другая, надо чтобы вот этот вот код

$(window).scroll($.debounce( 150, true, function(){
$('#super').toggleClass('one').toggleClass('two');
} ) );
$(window).scroll($.debounce( 150, function(){
$('#super').toggleClass('two').toggleClass('one');
} ) );

Выполнялся только при условии ниже:

Класс изначальный - one. Подскажите, как обернуть это всё дело в условие: если область просмотра (окна) от 768 до 1280 px, то добавлять класс one и уже разрешать выполнение скрипта выше.
Gerga:
попробуйте так

Честно сказать не понял, что это и какой результат должен быть.

пока единственно, что нашлось из готовых решений, хоть и дополнительная библиотека используется.

Вот так получилось.

$(window).scroll($.debounce( 150, true, function(){

$('#super').toggleClass('one').toggleClass('two');
} ) );
$(window).scroll($.debounce( 150, function(){
$('#super').toggleClass('two').toggleClass('one');
} ) );

Класс изначальный - one. Подскажите, как обернуть это всё дело в условие: если область просмотра (окна) от 768 до 1280 px, то добавлять класс one и уже разрешать выполнение скрипта выше.

Пробовал чем-то подобным

$(window).resize(function(){

var windowWidth = $(window).width();
if(windowWidth > 500,)$("#super").removeClass("one");
else $("#super").addClass("one");
});

Но это совсем не то, что нужно. Тут ресайз да и первый скрипт обернуть вторым не вышло.

Katrin1988:
А чем display:none не устраивает? Вправо нельзя такое пихать - всегда будет растягивать. Если смещением то только влево

дисплей не даёт возможность создавать эффект "выезжания". кажется вышел из ситуации при помощи fixed и отрицательным right

dr_evil:
overflow: hidden?

в данной ситуации реакция была на hidden странная, пропадал сам скролл визуально, но ничего не мешало нажать на колесо и проскользить вбок

colorito:
Я пальцем в небо, но может сначала нужно объявить test-anim, а потом применять?

неа, значения не имеет (

--------------------------------

Вопрос решил.

По феншую, действительно, сначала @keyframes test-anim задаётся. Но главное вот в этом было:

animation: test-anim 1s ease-in-out 0s infinite;

Как обычно, отличился только IE

Всего: 179