Soumission de publication initiale


8

J'essaie d'ajouter un formulaire où les utilisateurs peuvent envoyer des messages depuis le front-end.

Je suis ce didacticiel: http: // wpshout.com/wordpress-submit-posts-from-frontend/

Ce que je fais, c'est d'ajouter ce code à l'un de mes modèles de page. Le formulaire s'affiche bien, mais lorsque je clique sur le bouton Soumettre, il me donne " Erreur de page non trouvée "

Beaucoup de commentateurs disent que cela ne fonctionne pas. Quelqu'un peut-il m'orienter dans la bonne direction? Le code est-il incomplet? Présente des défauts? Est-ce que je fais quelque chose de mal?

Merci

Towfiq I.


Pouvez-vous expliquer votre cas d'utilisation? Il existe de nombreuses options, mais certaines ne sont pas à suggérer pour tous les cas d'utilisation.
MikeSchinkel

1
corrigez le titre de votre question de Fron-End à Frontend ou Front-End.
Philip

Découvrez ce tutoriel très cool et facile à suivre sur la façon de publier depuis le front-end (y compris les galeries de photos et les champs personnalisés !!). vudu.me/postreview
trusktr

Vous pouvez utiliser les extraits de code de ce didacticiel pour créer un plug-in WP Front End Posting simple: http://www.cozmoslabs.com/5528-wordpress-post-from-front-end/
Adrian Spiac

Réponses:


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>

J'ai trouvé cela sur Themeforest, cela fonctionne bien,
vous pouvez faire beaucoup de choses avec cela, vous devez ajouter du code supplémentaire pour vérifier si un utilisateur est connecté ou quoi que vous vouliez faire,

D'autre part, vous devez rechercher dans le repo des plugins WordPress pour trouver de super plugins,
Rechercher "frontend"

J'espère que cela aide


@Philip: J'ai essayé cela mais j'obtiens l'erreur suivante: Erreur d'analyse: erreur d'analyse, inattendu ';', attente ')' dans /home/www/web21/html/tornfraua/wp-admin/custom-post-new.php sur la ligne 10
RoflcoptrException

1
@Roflcoptr, supprimez la fermeture '?>' De la ligne 10 et ça ira!
Philip

Existe-t-il un moyen d'intégrer la liste déroulante des catégories?
Towfiq

@Towfiq - Oui, mais je ne peux pas écrire le code dans les commentaires, vous devez poser une nouvelle question!
Philip

@Philip pouvez-vous utiliser pastebin.com
Towfiq

0

Haha, c'est mon tutoriel qui a échoué. Désolé pour ça, c'est quelque chose que j'ai écrit parce que je n'ai jamais eu le problème 404 avec tout le monde.

Les formulaires de publication frontaux que j'utilise la plupart du temps s'ouvrent dans une fenêtre modale, par exemple, les formulaires de publication que j'ai créés pour http://wphonors.com sont chargés dans la boîte contextuelle épaisse, ce qui explique pourquoi je n'ai jamais eu de problème avec cette. J'ai pu faire tout ce que je voulais avec mes formulaires, soumettre ajax, rediriger la soumission vers les messages soumis, ou simplement afficher un message et aller sur une page aléatoire.

Mon mauvais échec avec ce tutoriel, j'avais de bonnes intentions :)

Essayez peut-être de les charger à l'aide de thickbox, c'est vraiment très simple à faire. Je travaille toujours sur un tutoriel de suivi pour échanger qui a échoué, mais il a été difficile de le faire fonctionner de la manière dont la plupart des gens seraient susceptibles de l'implémenter dans leurs sites.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.