Front-End Post Submission

8

Я пытаюсь добавить форму, где пользователи могут отправлять сообщения из внешнего интерфейса.

Я следую этому руководству: http: // wpshout.com/wordpress-submit-posts-from-frontend/

То, что я делаю, это добавление этого кода в один из моих шаблонов страниц. Форма отображается нормально, но когда я нажимаю кнопку «Отправить», появляется сообщение « Ошибка страницы не найдена »

Многие комментаторы говорят, что это не работает. Кто-нибудь может указать мне правильное направление? Код неполный? Есть недостатки? Я делаю что-то неправильно?

Спасибо

Towfiq I.

Towfiq
источник
Можете ли вы объяснить свой вариант использования? Существует много вариантов, но некоторые из них не подходят для всех случаев использования.
MikeSchinkel
1
исправьте название вопроса от Fron-End к Frontend или Front-End.
Филипп
Посмотрите это очень классное и простое руководство по публикации сообщений из внешнего интерфейса (включая фотогалереи и пользовательские поля!). vudu.me/postreview
trusktr
Вы можете использовать фрагменты кода из этого руководства для создания простого плагина WP Front End
Posting

Ответы:

14
<?php $postTitle = $_POST['post_title'];
$post = $_POST['post'];
$submit = $_POST['submit'];

if(isset($submit)){

    global $user_ID;

    $new_post = array(
        'post_title' => $postTitle,
        'post_content' => $post,
        'post_status' => 'publish',
        'post_date' => date('Y-m-d H:i:s'),
        'post_author' => $user_ID,
        'post_type' => 'post',
        'post_category' => array(0)
    );

    wp_insert_post($new_post);

}

?>
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled Document</title>
</head>

<body>
<div id="wrap">
<form action="" method="post">
<table border="1" width="200">
  <tr>
    <td><label for="post_title">Post Title</label></td>
    <td><input name="post_title" type="text" /></td>
  </tr>
  <tr>
    <td><label for="post">Post</label></td>
    <td><input name="post" type="text" /></td>
  </tr>
</table>

<input name="submit" type="submit" value="submit" />
</form>
</div>

</body>
</html>

Я обнаружил, что в Themeforest он работает нормально, с этим
можно многое сделать, вам нужно добавить дополнительный код, чтобы проверить, вошел ли пользователь в систему или что вы хотите сделать,

С другой стороны, вы должны искать в репозитории плагинов WordPress, чтобы найти несколько замечательных плагинов,
поиск по «внешнему интерфейсу»

Надеюсь, поможет

Филипп
источник
@Philip: я пробовал это, но получаю следующую ошибку: Ошибка разбора: ошибка разбора, неожиданный ';', ожидание ')' в /home/www/web21/html/tornfraua/wp-admin/custom-post-new.php на линии 10
RoflcoptrException
1
@Roflcoptr, удалите закрывающий '?>' Из строки 10, и все будет хорошо!
Филипп
Есть ли способ интегрировать раскрывающийся список категорий?
Towfiq
@Towfiq - Да, но я не могу написать в комментариях код, вы должны задать новый вопрос!
Филипп
@Philip вы можете использовать pastebin.com
Towfiq
0

Ха-ха, это мой учебник, который потерпел неудачу. Извините, но это было то, что я написал, потому что у меня никогда не было проблемы 404 с остальными.

Формы сообщений в веб- интерфейсе, которые я использую чаще всего, открываются в модальном окне, например, формы сообщений , которые я создавал для http://wphonors.com , загружаются во всплывающее окно Thickbox, и я считаю, поэтому у меня никогда не возникало проблем с это. Я мог делать все, что хотел с моими формами, ajax submit, отправлять перенаправления на отправленные сообщения или просто показывать сообщение и переходить на произвольную страницу.

Я плохо справлялся с этим уроком, у меня были благие намерения :)

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

jaredwilli
источник