Y me voy a crear UNA PAGINA para my-notes
page-my-notes.php
Y vamos a dejar:
<?php
get_header();
while(have_posts()){
the_post();
pageBanner();
} ?>
<div class="container container--narrow page-section">
</div>
<?php get_footer(); ?>
Ahora en el header vamos a hacer en la parte donde estoy logueado, un boton de mis notas, asi se ve solo si estoy logueado:
<?php
if(is_user_logged_in()){
?>
<a href="<?php esc_url(site_url('/my-notes.php')); ?>"
class="btn btn--small btn--orange float-left push-right">My Notes</a>
<a href="<?php echo wp_logout_url(); ?>"
class="btn btn--small btn--dark-orange float-left">
<span class="site-header__avatar">
<?php echo get_avatar(get_current_user_id(), 60); ?>
</span>
<span class="btn__text">Log Out</span>
</a>
<?php }else{ ?>
Si un usuario no logueado escribe my-notes en la barra de direcciones lo deja entrar, asi que vamos a la page-my-notes y arriba del todo vamos a hacer una condicion para que solo pueda entrar a esa pagina si esta logueado, sino me lo redirige a la home page:
Y para ello vamos a usar la funcion:
is_user_logged_in()
Function: Determines whether the current visitor is a logged in user.Arriba del todo:
if(!is_user_logged_in()){
wp_redirect(esc_url(site_url('/')));
}
DONDE GUARDAMOS LA INFORMACION DE LAS NOTAS??
EN LA BASE DE DATOS DE WP
Para ello vamos a crear un nuevo post type y le vamos a poner "notes"
Asi que nos vamos a nuestra carpeta de plugins al archivo de post types y vamos abajo del todo a crear este; tendra algunas diferencias:
register_post_type('note', array(
'show_in_rest' => true,
'supports' => array('title', 'editor'),
'public' => false,
'show_ui' => true,
'labels' => array(
'name' => 'Events'
),
'menu_icon' => 'dashicons-welcome-write-blog'
));
Se muestra en rest --> true
Public --> false
show_ui --> true para que lo veamos en el dashboard
Ahora, nos vamos a crear un par de notas desde dashboard.
Ahora, vamos a page-my-notes.php para:
1- Traer las notas que he creado
2- Vamos a hacer un boton para editar y eliminar
Vamos a escribir el siguiente codigo:
<?php
if(!is_user_logged_in()){
wp_redirect(esc_url(site_url('/')));
}
get_header();
$userNotes = new WP_Query(array(
'posts_per_page' => -1,
'post_type' => 'note',
'author' => get_current_user_id()
));
while($userNotes->have_posts()){
$userNotes->the_post(); ?>
<div class="container container--narrow page-section">
<input class="note-title-field" value="<?php echo esc_attr(get_the_title()); ?>">
<textarea class="note-body-field"><?php echo esc_attr(get_the_content()); ?></textarea>
</div>
<?php } ?>
<?php get_footer(); ?>
esc_attr es muy importante para la seguridad de la web !
y con author estamos definiendo bien que sea el author actual, sus notas quiero decir.
Si hay problemas con textarea:(yo no tuve problemas)
<textarea class="note-body-field">
<?php echo wp_strip_all_tags(esc_attr(get_the_content())); ?></textarea>
Ahora vamos a hacer boton de editar y de eliminar:
No hay comentarios:
Publicar un comentario