Registro de front-end / inicio de sesión y publicación / actualización 1 publicación personalizada

4

Quiero poder permitir que un usuario se registre / inicie sesión a través de un formulario de inicio de sesión y pueda crear 1 publicación personalizada que solo ellos podrán edite y actualice a través de un formulario de front-end .

Esto será parte de un "panel".

Es muy importante que esto funcione con el enlace .

Me las arreglé para llegar hasta allí usando los formularios de front-end de ACF. Esto permite la edición y actualización de una publicación personalizada.

El problema con esto es que:

  1. No hay registro / inicio de sesión front end.
  2. La publicación ya se creó, mientras que necesito un usuario para iniciar sesión y crear 1 publicación inicialmente.
  3. Solo puedo editar la publicación cuando estoy en la página real. Necesito que el usuario solo pueda editar su propia publicación.

Si alguien pudiera orientarme en la dirección correcta con esos problemas o tiene alguna forma creativa de solucionarlos, sería genial. Necesito hacer esto sin usar muchos otros complementos.

ACTUALIZAR :

Descubrí que esto me permitirá crear una nueva publicación a través de un formulario de front-end. Utilizando el action del formulario, creo que puedo redirigir al usuario a la publicación personalizada que acaba de crear. Por lo tanto, eso les permitirá actualizar / editar la publicación a través del segundo cuadro de código a continuación.

¡Todo lo que necesito hacer es el registro / inicio de sesión del usuario!

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

El siguiente código le permite al usuario editar / actualizar la publicación que acaba de crear.

<?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(); ?>
    
pregunta Rob 03.07.2012 - 12:07

4 respuestas

5

El complemento WP User Frontend satisfará todas sus necesidades. Puede encontrar el complemento aquí: enlace . El complemento le da la capacidad al usuario para crear una nueva publicación, editar una publicación, editar un perfil desde la interfaz del sitio. Así que los usuarios no necesitan entrar en el panel de administración. Todo lo que necesitan hacer se puede hacer desde la interfaz.

Si realiza una pequeña búsqueda en Google, encontrará muchos otros complementos con características similares. Creo que la interfaz de usuario de WP será más compatible con sus necesidades y deseos.

    
respondido por el Aleks 03.07.2012 - 13:25
1

Como ya resolvió el problema de edición, para resolver su inicio de sesión y registro frontend use s2member plugin . Lo uso en mi sitio para gestionar membresías y evitar que los miembros accedan al backend de Wordpress.

    
respondido por el Logen 13.07.2012 - 04:20
0

Solo para administrar el registro de usuarios y el inicio de sesión en el front-end, Theme My Login hace bastante un buen trabajo.

  

Este plugin es el tema de inicio de sesión de WordPress, registro y olvidado   Páginas de contraseña de acuerdo a su tema actual. Crea una pagina para   use en lugar de wp-login.php, usando una plantilla de página de su tema.   También incluye un widget para el inicio de sesión de la barra lateral.

La página del complemento no tiene capturas de pantalla, así que aquí van:

AquíesdonderedireccionaríasalosusuariosalapáginaqueusaTemplateName:Login:

    
respondido por el brasofilo 11.07.2012 - 04:06
0

Estoy usando el complemento wp-members para el registro de usuarios y el inicio de sesión sin acceder al back-end de Wordpress. Sin embargo, necesitarías un código personalizado para restablecer la contraseña. Estoy usando esta solución .

¡Gracias por el código que permite a los usuarios crear nuevas publicaciones!

    
respondido por el Adj 27.02.2013 - 13:54

Lea otras preguntas en las etiquetas