Как реализовать платные публикации постов на wordpress?
Нужно организовать для зарегистрированных пользователей возможность написания статей на сайте, но за символическую оплату. Искал плагины - не нашёл ни одного подходящего.
Возможно существует какой-то другой способ? Нужно просто чтобы человек написал статью, сохранил её на сайте (она конечно попала на рассмотрение админа), и автору пришло письмо с уведомлением об оплате или при публикации была какая то кнопка с оплатой.
Может, кто что посоветует?
Дополнительно:
Ответы:
Нужно просто чтобы человек написал статью, сохранил её на сайте (она конечно попала на рассмотрение админа), и автору пришло письмо с уведомлением об оплате или при публикации была какая то кнопка с оплатой.
При такой логике всё есть из коробки - по дефолту посты от авторов ставятся на премодерацию.
На сайте размещаешь кнопку/виджет от агрегатора типа я.кассы или комплексного решения в виде лейки и получаешь уведомление об оплате.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для платных публикаций в WordPress логика должна быть не «пользователь написал пост, потом как-то оплатил», а понятный workflow: черновик → ожидание оплаты → оплата подтверждена → модерация → публикация. Иначе быстро начнутся спорные ситуации: человек оплатил, но пост не отправился; пост отправился, но оплаты нет; админ не понимает, какие материалы оплачены.
Самый простой вариант — WooCommerce + frontend-форма публикации. Пользователь заполняет статью через форму, запись создаётся в статусе
pending, а затем ему создаётся заказ на оплату публикации. После оплаты заказ переводит запись в статус «на модерации» или ставит метку «оплачено».Технически это можно сделать так:
wp_insert_post();woocommerce_payment_complete;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.