Inscription frontale / connexion et publication / mise à jour 1 message personnalisé

4

Je souhaite permettre à un utilisateur de s'inscrire / se connecter via un formulaire frontal et de créer un message personnalisé auquel il ne pourra accéder. modifier et mettre à jour via un formulaire frontal .

Cela fera partie d'un "tableau de bord".

Il est très important que cela fonctionne avec le plug-in enlace .

J'ai réussi à obtenir une partie du chemin en utilisant les formulaires frontaux d'ACF. Cela permet de modifier et de mettre à jour un message personnalisé.

Le problème avec ceci est que:

  1. Il n'y a pas d'enregistrement / connexion frontal.
  2. Le message a déjà été créé, alors que j'ai besoin d'un utilisateur pour se connecter et créer 1 message au départ.
  3. Je ne suis capable de modifier le message que lorsque je suis sur la page. J'ai besoin que l'utilisateur ne puisse éditer que son propre message.

Si quelqu'un pouvait m'indiquer la bonne direction en ce qui concerne ces problèmes ou s'il disposait de moyens créatifs de les contourner, ce serait formidable. Je dois le faire sans utiliser beaucoup d'autres plugins.

UPDATE:

J'ai constaté que cela me permettrait de créer un nouveau message via un formulaire frontal. En utilisant le action du formulaire, je pense pouvoir rediriger l'utilisateur vers le message personnalisé qu'il vient de créer. Cela leur permettra donc de mettre à jour / éditer le message via la 2ème zone de code ci-dessous.

Il ne me reste donc que l'enregistrement / la connexion de l'utilisateur!

<?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>

Le code ci-dessous permet à l'utilisateur de modifier / mettre à jour le message qu'il vient de créer.

<?php
/**
 * @package WordPress
 * @subpackage Default_Theme
 * Template Name: Login
 */
acf_form_head();
get_header(); ?>

    <?php if (have_posts()) : ?>
        <?php while (have_posts()) : the_post(); ?>

<div style="width:719px;">
<?php global $current_user;
get_currentuserinfo();
$page_name = $current_user->user_login; ?>
Logged in as: <?php echo $page_name; ?> (<?php echo $current_user->ID; ?>)
<br />
List posts by <?php echo $page_name; ?>:

<?php               
$loop = new WP_Query( array(
    'post_type' => 'page',
    'author' => $current_user->ID
));

while ( $loop->have_posts() ) : $loop->the_post(); 
the_title();
echo "<br>";
endwhile;

//Reset Query
wp_reset_query();

?>

<?php $defaults = array(
    'post_id' => $post->ID, // post id to get field groups from and save data to
    'field_groups' => array(), // this will find the field groups for this post (post ID's of the acf post objects)
    'form_attributes' => array( // attributes will be added to the form element
        'class' => ''
    ),
    'return' => add_query_arg( 'updated', 'true', get_permalink() ), // return url
    'html_field_open' => '<div class="field">', // field wrapper open
    'html_field_close' => '</div>', // field wrapper close
    'html_before_fields' => '', // html inside form before fields
    'html_after_fields' => '', // html inside form after fields
    'submit_value' => 'Update', // value for submit field
    'updated_message' => 'Post updated.', // default updated message. Can be false to show no message
);

acf_form(); ?>
</div>

        <?php endwhile; ?>
    <?php endif; ?>

<?php get_footer(); ?>
    
posée Rob 03.07.2012 - 12:07

4 réponses

5

Le plugin WP User Frontend répondra à tous vos besoins. Vous pouvez trouver le plugin ici: enlace . Le plugin donne à l'utilisateur la possibilité de créer une nouvelle publication, de modifier une publication, de modifier un profil à partir de l'interface du site. Ainsi, les utilisateurs n'ont pas besoin d'entrer dans le panneau d'administration. Tout ce qu'ils doivent faire peut être fait depuis le frontend.

Si vous effectuez une petite recherche Google, vous rencontrerez de nombreux autres plugins avec des fonctionnalités similaires. Je pense que le WP User Frontend sera le plus compatible avec vos besoins et vos désirs.

    
réponse donnée Aleks 03.07.2012 - 13:25
1

Puisque vous avez déjà résolu le problème de l'édition, utilisez le plug-in s2member pour régler votre connexion et votre enregistrement frontaux. Je l'utilise sur mon site pour gérer les abonnements et empêcher les membres d'accéder au backend de Wordpress.

    
réponse donnée Logen 13.07.2012 - 04:20
0

Si vous ne gérez que l'enregistrement et la connexion des utilisateurs dans l'interface frontale, Thème Mon identifiant fait tout un bon travail.

  

Ce plugin thématise la connexion, l’inscription et l’oubli de WordPress   pages de mot de passe selon votre thème actuel. Il crée une page pour   utilisez à la place de wp-login.php, en utilisant un modèle de page de votre thème.   Inclut également un widget pour la connexion à la barre latérale.

La page du plugin n'a pas de captures d'écran, alors les voici:

VouspouvezredirigerlesutilisateursverslapageutilisantleTemplateName:Login:

    
réponse donnée brasofilo 11.07.2012 - 04:06
0

J'utilise le plug-in wp-members pour l'enregistrement et la connexion des utilisateurs sans accéder à Wordpress. Cependant, vous aurez besoin d'un code personnalisé pour la réinitialisation du mot de passe. J'utilise cette solution .

Merci pour le code qui permet aux utilisateurs de créer de nouveaux messages!

    
réponse donnée Adj 27.02.2013 - 13:54

Lire d'autres questions sur les étiquettes