отправлять сообщения незарегистрированными пользователями в wordpress

Я новичок в wordpress. Можно ли разрешить незарегистрированным пользователям отправлять сообщение и помещать его в очередь, чтобы получить подтверждение с администратором сайта и когда будет показано на сайте?

Solutions Collecting From Web of "отправлять сообщения незарегистрированными пользователями в wordpress"

UPDATE – я сделал простой плагин для этого, который добавляет функциональность:

  1. Виджет, который вы можете поместить в свою боковую панель, которая позволяет сохранить пэд в виде пайки
  2. Виджет, который отображает три последних отправленных и подтвержденных сообщения.

Плагин имеет несколько простых классов CSS без каких-либо стилей.

Вот ссылка для скачивания: Простой столбец Frontend

Функция и форма:

Чтобы заставить это работать, вы можете использовать функцию wp_insert_post для вставки post / pages в базу данных, она санирует переменные, выполняет некоторые проверки, заполняет отсутствующие переменные, такие как дата / время и т. Д.

Сначала вам нужна форма для получения необходимого вам контента.

Вот форма, которая позволяет заголовок и текстовый контент, поместите его туда, где вы хотите свою форму:

<form action="<?php echo site_url(); ?>/" method="post"> <input type="text" id="title" value="" tabindex="5" name="title" /> <textarea tabindex="3" name="desc" cols="5" rows="3"></textarea> <input type="submit" value="Submit" name="frontendpost"> </form> 

И вот функция, которая помещает весь контент в базу данных и сохраняет его как палитрование, т. Е. Вы должны сначала подтвердить его, прежде чем он будет виден спереди, поместите его в файл темы funtions.php:

 <?php //Enable the front-end postings function save_frontend_post() { if ( !empty( $_POST ) && isset( $_POST['frontendpost'] ) ) { //Check to make sure that the post title field is not empty if( trim( $_POST['title'] ) === '' ) { $error = true; } else { $title = trim( $_POST['title'] ); } //Check to make sure sure that content is submitted if( trim( $_POST['desc'] ) === '' ) { $error = true; } else { $desc = trim( $_POST['desc'] ); } //If there is no error, send the form if( !isset( $error ) ) { //Create post object $new_post = array( 'post_title' => $title, //The title of your post. 'post_content' => $desc, //The full text of the post. 'post_date' => date('Ymd H:i:s'), //The time post was made. 'post_status' => 'pending', //Set the status of the new post. 'post_type' => 'post' ); //Insert the post into the database $new_post = wp_insert_post( $new_post ); } } } add_action( 'wp_head', 'save_frontend_post', 10, 2 ); ?>