web-dev-qa-db-fra.com

Créer et éditer des posts depuis le front-end

J'ai créé un type de message personnalisé très agréable à l'aide du fantastique plug-in ACF , mais j'ai maintenant besoin d'un moyen pour les utilisateurs de soumettre des messages du début à la fin. Les plugins comme les formulaires Gravity et Front-end Editor sont gentils, mais ne fonctionnent pas très bien pour cela.

Existe-t-il un moyen de faire apparaître le même formulaire d'édition Back-end sur une page d'accueil? ou bien déguisez-vous une partie du site principal pour qu'elle ressemble à l'avant-plan?

Toute aide serait très appréciée

2
Steven Baltay

Vous ne savez pas si cela fonctionnera, mais avez-vous vérifié l'éditeur de Scribu?

http://scribu.net/wordpress/front-end-editor

ou vérifier ce fil

http://wordpress.org/support/topic/front-end-custom-form-to-post?replies=5#post-1584286

3
Jens Wedin

Ce que vous demandez n'est pas possible à cause des contrôles de sécurité des capacités de l'utilisateur et des contrôles d'administrateur. Il serait préférable que vous créiez un formulaire sur le front-end et que vous utilisiez la fonction wp_insert_post ().

if(isset($_POST['foo_bar'])):

    //Verify nonce and referrer

    //Validate data

    $args = array(
        'post_status' => 'draft',
        'post_content' => esc_html($content),
        'post_title' => esc_attr($title)
    );

    $foo = wp_insert_post($args);

    //If the post was inserted, wp_insert_post() will return the post ID of the new post
    if($foo)
       echo "bar";

endif;

//Create your form with a hidden nonce field here.
  1. Vous devez absolument utiliser des nonces chaque fois que vous acceptez une saisie. \
  2. Utilisez les fonctions d'échappement Wordpress intégrées pour sécuriser les données d'entrée après les avoir validées. http://markjaquith.wordpress.com/2009/06/12/escaping-api-updates-for-wordpress-2-8/

J'ai construit plusieurs formulaires comme celui-ci en utilisant un modèle statique ainsi qu'une version AJAX. Ce n'est pas si difficile à faire. Assurez-vous simplement de prendre toutes les précautions nécessaires pour vérifier l'intégrité des données et cacher le formulaire de saisie aux malfaiteurs.

3
Brian Fegter

C'est désormais possible avec ACF. Il suffit de jeter un coup d’œil à la documentation pour savoir comment créer un formulaire frontal permettant à la fois de créer une nouvelle publication et d’en modifier une existante. http://www.advancedcustomfields.com/resources/tutorials/creating-a- front-end-form/

0
Eckstein