rediioo
Ответы в темах
-
Perdyllo
Я подробно ознакомился с плагином. Как я понял, он скрывает все посты из скрытой категории. В моём же случае скрывать надо не категории и все посты в них, а выборочно только посты, которые ,как правило, находятся в разных категориях, иногда даже нескольких одновременно.Perdyllo
Спасибо за ответ. Но меню у меня есть, хлебные крошки тоже. И карта сайта есть, но там нет некоторых постов, что скрыты приведённым выше кодом. Осталось решить этот небольшой нюанс и будет совсем хорошо.Как вот оказалось, добавить исключение категории для карты сайта делом секунд для специалиста было, а я какой день бился над этим, но решил всё таки. Теперь вот бьюсь над выводом скрытых записей.
Так, с скрытием из списка определённой категории я разобрался, надо было просто это:
$categories = get_categories( $args );
заменить на это:
$categories = get_categories( 'exclude=123' );
А вот со скрытыми постами из-за фильтра
add_filter('pre_get_posts','exclude_post');
я никак не могу справиться. Может есть какой то альтернативный код скрытия постов с главной, из категории и РСС, но при этом не затрагивающий карту сайта?
Очень надеюсь на ответ.
Я вписал вот так исключение, но оно почему то не сработало 🙁
<?php $exclude_pages = '12, 14'; $exclude_posts = array(); $exclude_cat = '10'; ?> ...... ...echo "<ul>"; if(!in_array($category->ID, $exclude_cat)){ echo "<li><strong>Категория:</strong> <a href=\"".get_category_link($category->term_id)."\" target=\"_blank\" >".$category->name."</a>"; $posts = get_posts(array('category' => $category->term_id, 'posts_per_page' => '150')); } echo "<ul>";....
Flector
Спасибо за отзыв. Почему велосипед? Это законченное и популярное решение. Просто там нет исключения для рубрик, автор его просто за ненадобностью не ввёл. Вот как раз куча плагинов для реализации простой задачи — это и есть костыли.Я очень много времени потратил на адаптацию дизайна для приведённого законченного решения, что реализует хороший сайтмап. В плагине исправлять дизайн мне сложно, там кода куда больше.
Вопрос остаётся в силе.
- Ответ изменён 6 лет, 8 месяцев назад пользователем rediioo.
Юрий
Безмерно благодарствую 🙂SeVlad
Мне достаточно is admin, т.к. я из админки отвечаю всегда.Спасибо всем за помощь 🙂 Вопрос решён.
Вот так вот будет правильно?
add_filter('preprocess_comment', 'die_on_href'); function die_on_href($commentdata) { if(!is_admin()) { if (preg_match("/href=/", $commentdata['comment_content'])) { wp_die('HTML тег ссылки в комментариях запрещён. Вернитесь и отредактируйте сообщение.'); } } return $commentdata; }
Юрий
Божественно! Просто божественно. Отлично работает код 🙂 Безмерно вам благодарен.Действительно специалист в своём деле.
UPD: А можно ли ещё внести исключение для администраторов, чтобы отправляя ответ из админки, фильтр не срабатывал?
- Ответ изменён 6 лет, 9 месяцев назад пользователем rediioo.
Flector
Спасибо за наводку, но я использую плагин Акисмет, а также плагин подписки на комментарии. Если я изменю форму комментариев приведённым скриптом, то мне придётся искать и менять их ещё и с криптах, а с моими поверхностными знаниями в программировании это тяжело.SeVlad
Это хороший способ, он отсекает огромное количество спама, вот бы ещё мне помогли сие реализовать в коде, было бы совсем хорошо.Наверное надо было лучше вопрос задавать в будний день, а то оно уже затерялось среди новых постов и гуру WordpPress его не увидели 🙁
SeVlad
Они у Вас реально есть или Вы думаете что будут?
Реально есть, я просто захожу не часто.
Правильно думаете, но Вы хотите отсекать ПОСЛЕ отправки
В момент отправки, не после. Логику я описал в первом посте.
Надеюсь на решение в коде.
SeVlad
Спасибо что откликнулись. Да, я знаю, что акисмет проверяет по множеству параметров. однако же среди сотни спам комментариев, что стоят в очереди выцеплять короткие и ошибочно попавшие в этот список от реальных пользователей хлопотно.Я считаю, что проще отсекать 95% мусора вовсе, ведь вероятность отправки от реального пользователя с html тегом минимальна, но даже если это и произойдёт, то он увидит сообщение и исправит свой коммент.
Вопрос остаётся в силе.