• Всем доброго времени суток!
    Есть такая задача:
    Нужно, чтобы последние 5 (или другое количество) записей были доступны для комментирования только зарегистрированным пользователям. Все остальные записи могут комментировать любые прохожие.
    Мой поиск подобного плагина результатов не дал.

    Если готового решения не существует, то сколько примерно может стоить его написать (хотя бы порядок суммы).

    Заранее благодарен.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Модератор Юрій

    (@yube)

    Если Вы изначальное условие «5 (или другое количество)» замените на временнóе, скажем, 5 дней, то задача станет проще, и решение, возможно, уложится в несколько строк. А может нет — не узнаешь, пока не напишешь.

    По версии сайта mywordpress.ru написание плагина стоит от $300. По моей — от 30$.

    К сожалению нужно именно по количеству, а не по времени. За примерную цифру спасибо.

    Просто любопытно: а что вам даёт такая блокировка?

    В основном обсуждение идет в последних 5 записях. Люди, которые зарегистрировались, в основном комментируют по теме. Люди, которые не зарегистрировались — очень много пишут в комментариях не по теме, однако среди незарегистрированных читателей есть люди, которые дают важные и нужные комментарии, но регистрироваться не хотят принципиально.

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

    На данный момент комментарии открыты всем, но настоятельно рекомендуется регистрация. Не хочется привязываться по времени, так как бывает 2-3 записи в день, а бывает перерыв в 1-2 недели.

    Модератор Юрій

    (@yube)

    Просто «5-й или меньше» — не вполне очевидное свойство (да и как минимум один лишний запрос к БД), в отличие от времени публикации, которое уже известно движку на момент вывода поста.

    Находите в Теме такой участок:
    comment_form(); //вероятнее всего в файле comments.php
    И меняете это на этот:

    function wikicms_last_post() {
        $id = get_the_ID();
        $recent_post=wp_get_recent_posts(array('numberposts' => 3, 'post_type' => 'post', 'post_status' => 'publish', 'order' => 'DESC'));
        foreach ($recent_post as $recent) {
            $idr[] = $recent["ID"];
        }
        if (is_user_logged_in()) {
        comment_form();
        }
        else {
        if (!(in_array($id, $idr))) comment_form();
        }
    }
    wikicms_last_post();

    На выходе получаем: залогиненные юзеры комментируют все, гости кроме 3-х последних топиков (свежих). Если надо больше, то изменить значение numberposts на 5 или 10. 🙂

    [offtop] Кошелек Webmoney в профиле :))

    Благодарю!

    Финансовую благодарность перечислю после внедрения. 🙂

    Видать внедрение не состоялось… :))

    Ура! внедрение вчера состоялось.
    Все работает отлично.
    [offtop] to wikicms:Благодарность ушла на Ваш кошелек webmoney только что.
    пароль chek.webmoney.ru — 0330

    [offtop] mdimin, благодарю за высокую оценку! )

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Управление комментариями первых записей» закрыта для новых ответов.