in_category в тегах wordpress и script - AdjacentHTML - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь отображать .gif-баннер в сообщениях только в определенной категории c после первого абзаца в wordpress, поэтому мой код в l oop -single. php выглядит так:

<?php if(in_category('my_category')){ ?>
<script>
    const par = document.querySelector('p');
    par.insertAdjacentHTML('afterend', '<div><a href="other_page" target="_blank" rel="nofollow"><img src="some_gif" alt="" class=""></a></div>')
</script>

<?php } ?>

Но это не работает должным образом. У кого-нибудь есть идея? Или может быть какое-то другое решение, которое не требует установки дополнительных плагинов (не то, чтобы я этого не хотел, большинство из них просто замедляют работу сайта).

Спасибо

edit: 'after первый абзац 'добавлен

1 Ответ

0 голосов
/ 29 мая 2020

Итак, я нашел способ, сначала мне нужно было проверить, находится ли пост в разыскиваемой категории, а затем создать функцию и потом вызвать ее. Код установлен в файле single-l oop. php в моем шаблоне:

<?php if(in_category('my-category')){ ?>
<script type="text/javascript">
    function krasAd() {
    const par = document.querySelector("p");
    par.insertAdjacentHTML('afterend', '<div><a href="some-url-target" target="_blank" rel="nofollow"><img src="my-gif" alt="" class=""></a></div>')
};
    krasAd();
</script>

<?php } ?>

Также был один способ проверить, есть ли у вас строка в URL, которая запрашивает только JS. Но он требует, чтобы вы правильно создали структуру URL-адресов, например: domain.com/category/post

Если бы у меня была категория в URL-адресе моих сообщений, я бы использовал код ниже, код устанавливается перед закрытием тега нижнего колонтитула в мой single-l oop. php файл шаблона:

<script type="text/javascript">
    if (window.location.href.indexOf("my-string") > -1) {
        const par = document.querySelector("p");
        par.insertAdjacentHTML('afterend', '<div><a href="some-target-url" target="_blank" rel="nofollow"><img src="my-gif" alt="" class=""></a></div>')
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...