Как реализовать платные публикации постов на wordpress?

Ссылка скопирована
1 ответ

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

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

Может, кто что посоветует?

Дополнительно:

Ответы:

Нужно просто чтобы человек написал статью, сохранил её на сайте (она конечно попала на рассмотрение админа), и автору пришло письмо с уведомлением об оплате или при публикации была какая то кнопка с оплатой.

При такой логике всё есть из коробки - по дефолту посты от авторов ставятся на премодерацию.
На сайте размещаешь кнопку/виджет от агрегатора типа я.кассы или комплексного решения в виде лейки и получаешь уведомление об оплате.

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Frontend-редакция Ответ

Для платных публикаций в WordPress логика должна быть не «пользователь написал пост, потом как-то оплатил», а понятный workflow: черновик → ожидание оплаты → оплата подтверждена → модерация → публикация. Иначе быстро начнутся спорные ситуации: человек оплатил, но пост не отправился; пост отправился, но оплаты нет; админ не понимает, какие материалы оплачены.

Самый простой вариант — WooCommerce + frontend-форма публикации. Пользователь заполняет статью через форму, запись создаётся в статусе pending, а затем ему создаётся заказ на оплату публикации. После оплаты заказ переводит запись в статус «на модерации» или ставит метку «оплачено».

Технически это можно сделать так:

  • форма создаёт запись через wp_insert_post();
  • ID записи сохраняется в meta заказа WooCommerce;
  • после оплаты ловится woocommerce_payment_complete;
  • у записи обновляется meta/status;
  • админу уходит письмо на проверку.
add_action('woocommerce_payment_complete', function ($order_id) {
    $post_id = (int) get_post_meta($order_id, '_paid_post_id', true);
    if ($post_id) {
        update_post_meta($post_id, '_publication_paid', 'yes');
        wp_update_post([
            'ID' => $post_id,
            'post_status' => 'pending',
        ]);
    }
});

add_action('woocommerce_payment_complete', function ($order_id) { $post_id = (int) get_post_meta($order_id, '_paid_post_id', true); if ($post_id) { update_post_meta($post_id, '_publication_paid', 'yes'); wp_update_post([ 'ID' => $post_id, 'post_status' => 'pending', ]); } });

Если нужна быстрая реализация без разработки, смотрите плагины frontend posting + WooCommerce paid listings/paid submissions. Но для нормального проекта я бы делал небольшой кастомный плагин: там проще контролировать статусы, письма, ограничения по символам, возвраты и безопасность пользовательского HTML.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно