WP | Как создать BlogPost с собственной формой - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть форма, и я хочу, чтобы данные из этой формы были отправлены в новое сообщение в блоге (для утверждения).

Как мне получить данные из этой формы и создать новый пост в WordPress?

Какими должны быть шаги?

<form class="form-group" id="post-form" action="" enctype="multipart/form-data">

<!-- Пресса -->
<h2>Преса</h2>

<label for="name">Назва газети</label>
<input type="text" name="name" value="" class="form-control">

<br>
<label for="file">Завантажити матеріал(png, jpeg, jpg, не більше 5мб)</label>
<br>
<input type="file" name="file" value="">
<br><br>

<label for="editor">Хто був редактором (якщо відомо)</label>
<input type="text" name="editor" value="" class="form-control">
<br>

<label for="type">Рівень</label>
<div class="form-check">
  <input class="form-check-input" type="radio" name="exampleRadios" id="central" value="option1" checked>
  <label class="form-check-label" for="exampleRadios1">
    Центральний
  </label>
</div>
<div class="form-check">
  <input class="form-check-input" type="radio" name="exampleRadios" id="local" value="option2">
  <label class="form-check-label" for="exampleRadios2">
    Місцевий
  </label>
</div>

<div class="additional-form">

	<label for="region">Область</label>
	<input type="text" name="region" class="form-control">

	<label for="city">Населенний пункт</label>
	<input type="text" name="city" class="form-control">

	<br>
	<textarea name="textarea" rows="2" cols="80" value="" placeholder="Короткий опис" class="form-control" resize="none"></textarea>

	<label for="date">Дата (опціонально)</label>
	<input type="date" name="date" value="" class="form-control">
</div>

<br>
<input type="submit" class="btn btn-secondary" name="" value="Відправити">

</form>

1 Ответ

0 голосов
/ 25 апреля 2020
Step 1: You need to get form data like: 
if($_POST['submit'] == "Відправити") 
{
    $name = $_POST['name'];
    ...
    ...
}

Step 2: Then you need to save post inside if condition like: 
if($_POST['submit'] == "Відправити") 
{
    $name = $_POST['name'];
    ...
    ...
    // Create post object. You need to pass other form values with this array what you need
    $my_post = array(
      'post_title'    => wp_strip_all_tags( $name ),
      'post_status'   => 'pending',
      'post_type'   => 'post',
    );

    // Insert the post into the database
    wp_insert_post( $my_post );


}

For more details, please check https://developer.wordpress.org/reference/functions/wp_insert_post/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...