Hoy continuaremos con nuestra miniserie para insertar publicaciones a través del extremo frontal, pero en esta parte veremos exclusivamente cómo editar y borrar mensajes a través de la parte delantera. Cubriremos cómo mostrar todas nuestras publicaciones, editarlas y eliminarlas. Entonces, preparémonos y comencemos!
Ahora estamos en la segunda parte de nuestra miniserie, y si no ha leído la primera parte, le aconsejo que lo haga porque continuaremos desde donde lo dejamos. Nuestro objetivo después de completar esta miniserie debería permitirle al usuario enviar publicaciones a través de la interfaz, junto con la edición y el envío de las publicaciones a la papelera; Todo sin estar en el Panel de WordPress. Estos métodos se pueden usar tanto en un tema como en un complemento y pueden ser muy adaptables para lograr envíos muy avanzados y complejos.
La demostración y los archivos de descarga son un tema reducido que se ha creado solo para los fines de este tutorial..
Así que abre tu editor de texto favorito y comencemos!
Comenzaremos mostrando todas nuestras publicaciones de manera más efectiva, esto nos dará una mejor administración de nuestras publicaciones y nos permitirá realizar acciones en cada publicación. Como estamos usando un tema para desarrollar esto, crearemos una plantilla de página llamada template-view-posts.php. Además, crearemos una nueva página a través de nuestro Panel de WordPress Páginas -> Agregar nuevo -> Atributos de página Como asignar la plantilla a esta página..
Ahora tenemos nuestra Plantilla de página y Página creadas en nuestro tema de WordPress, podemos comenzar a publicar todas nuestras publicaciones. Vamos a crear una tabla muy simple para generar toda la información necesaria. Comience creando una tabla con algunos encabezados, de la siguiente manera:
Título de la entrada | Post extracto | Estado de publicación | Comportamiento |
---|---|---|---|
Ahora que tenemos nuestra tabla en su lugar, podemos comenzar a llenar nuestras filas de tablas con información sobre nuestras publicaciones. Comenzaremos haciendo primero un bucle personalizado de WordPress, para asegurarnos de que recibamos todas las publicaciones y todos los estados de las publicaciones, porque queremos poder ver qué publicaciones están pendientes, borradores, publicados o incluso enviados a la papelera. Hacemos esto insertando el siguiente bit de código:
'post', 'posts_per_page' => '-1', 'post_status' => array ('publique', 'pendiente', 'borrador', 'privado', 'basura'))); ?>
Este es nuestro objeto de consulta con todos nuestros parámetros personalizados que hemos establecido. Puede leer sobre todos los diferentes parámetros que podemos establecer desde el Códice de WordPress. A continuación, ejecutaremos nuestro bucle de WordPress justo después de nuestros encabezados de tabla, como este:
have_posts ()): while ($ query-> have_posts ()): $ query-> the_post (); ?>
¡Brillante! Tenemos nuestro conjunto de tablas, y nuestro conjunto de bucles de WordPress. Ahora solo necesitamos ingresar nuestra información relacionada con los encabezados de nuestras tablas. Reemplace nuestras celdas de la tabla vacía con el siguiente código:
Editar Borrar
El código que acabamos de insertar primero comienza con la salida del título de nuestra publicación, y el siguiente elemento es la salida de un extracto de nuestra publicación. Luego obtenemos el estado actual de la publicación y pasamos la ID de publicación a esta función y, finalmente, ingresamos dos enlaces Editar y Borrar, Usaremos estos más tarde como nuestras acciones..
Brillante, estamos haciendo un buen progreso. Hemos configurado nuestro tema para ver todas nuestras publicaciones a través del extremo frontal. A continuación, vamos a editar el post. Comenzamos esto creando otra plantilla de página llamada template-edit-posts.php. Además, crearemos una nueva página a través de nuestro Panel de WordPress Páginas -> Agregar nuevo -> Atributos de página y asigna la plantilla a esta página..
Antes de comenzar a editar esta plantilla, volvamos a nuestro template-view-posts.php Archivo y asegúrese de pasar la ID de publicación a la URL donde recuperaremos la ID de nuestra página de edición. Hacemos esto usando la función de WordPress: add_query_arg
. Insertaremos el siguiente código justo antes de nuestro enlace Editar:
El código que acabamos de insertar, primero establece el nombre del parámetro y luego, a continuación, obtenemos el ID de la publicación y luego obtenemos el ID de nuestra plantilla de Editar página y agregamos nuestro argumento de URL personalizado. Usaremos esto para recuperar la información en nuestra plantilla Editar.
Finalmente, enviaremos esto a nuestro enlace de edición, haciendo que nuestro enlace de edición sea el siguiente:
"> Editar
Ahora que lo tenemos configurado para cuando el usuario haga clic en Editar, irá a nuestra Plantilla de edición con la ID de publicación. Regresaremos a nuestro template-edit-posts.php archiva y comienza a insertar nuestro código.
Copiaremos sobre nuestro Formar de nuestro template-insert-posts.php e inserte esto en nuestra plantilla de edición. Estamos copiando el siguiente código en nuestra plantilla de edición, y eliminamos todos los valores de nuestras entradas y área de texto, haciendo nuestro formulario de la siguiente manera:
Ahora que tenemos nuestro formulario de edición de página establecido, necesitaremos usar el bucle de WordPress para revisar todas nuestras publicaciones y solo encontrar nuestras publicaciones que coincidan con la ID de la publicación que se transfirió a nuestra URL. Haremos esto ejecutando el bucle de WordPress en la parte superior de nuestro archivo:
'post', 'posts_per_page' => '-1')); ?> have_posts ()): while ($ query-> have_posts ()): $ query-> the_post (); ?>
Para que el bucle de WordPress garantice que solo estamos recuperando la información de la publicación específica, insertaremos el siguiente código que garantiza que obtengamos la ID de la publicación correcta, dentro de nuestro bucle:
if (isset ($ _GET ['post'])) if ($ _GET ['post'] == $ post-> ID) $ current_post = $ post-> ID;
Lo que acabamos de insertar es obtener el parámetro de URL y probarlo con la ID de publicación, y cuando haya encontrado una coincidencia, asignaremos esa ID a nuestra current_post
variable. A continuación, insertaremos un código para obtener nuestra información con respecto a nuestra publicación, inserte el siguiente código justo debajo de nuestro current_post
asignación:
$ title = get_the_title (); $ content = get_the_content ();
Nuestro código final debería verse así:
if (isset ($ _GET ['post'])) if ($ _GET ['post'] == $ post-> ID) $ current_post = $ post-> ID; $ title = get_the_title (); $ content = get_the_content ();
Esto es genial, estamos haciendo un buen progreso. Ahora que tenemos toda nuestra información, solo necesitamos insertarla en los valores de nuestro formulario, esto es simple, ya que solo asignaremos valores para nuestros dos campos. Junto con esto actualizaremos el nombre de nuestro botón para Actualizar publicación. El siguiente código es nuestro formulario actualizado con el formulario rellenado con el título y el contenido de la publicación de edición:
Como puede ver en el código, hemos asignado nuestro valor de entrada Título de publicación para generar la variable de título, y dentro de nuestro área de texto, hemos generado nuestra variable de contenido, pero como puede haber notado que cuando hacemos clic en Actualizar publicación no sucede nada, esto es porque aún no hemos manejado esto, y lo haremos ahora.
Tendremos que volver a nuestro template-insert-posts.php Archivo y vamos a copiar la validación de nuestro formulario PHP a nuestra plantilla de edición. Ahora que hemos copiado la validación de nuestro formulario, haremos algunos cambios e insertaremos algunos códigos. Necesitamos recuperar el current_post
variable en nuestra validación de formulario, y lo hacemos configurando una variable global e insertamos esto por encima de nuestra validación:
global $ current_post;
A continuación, haremos una modificación a nuestra post_información
formación. Como estamos actualizando nuestra publicación, debemos asegurarnos de que actualizará la Publicación correcta y no todas las publicaciones, lo hacemos insertando un parámetro de ID en nuestro post_información
formación. Haciendo nuestra matriz de la siguiente manera:
$ post_information = array ('ID' => $ current_post, 'post_title' => wp_strip_all_tags ($ _POST ['postTitle']), 'post_content' => $ _POST ['postContent'], 'post_type' => 'post' , 'post_status' => 'pendiente');
Finalmente, haremos una modificación final que garantizará que estamos actualizando la publicación y no insertando una nueva publicación. Hacemos esto simplemente cambiando la función que usamos, en lugar de usar wp_insert_post
, estaremos usando wp_update_post
. Haciendo nuestro código final de la siguiente manera:
$ post_id = wp_update_post ($ post_information);
Y eso es todo para editar publicaciones a través de la interfaz. Finalmente, para esta parte de la miniserie, veremos cómo eliminar publicaciones..
Ahora hay muchas maneras diferentes de eliminar publicaciones, y ha habido muchas discusiones diferentes en el mejor método sobre cómo lograr esto, para algunas personas este es probablemente el método incorrecto, pero creo que funciona perfectamente bien para esta situación actual. Estaremos usando la función. get_delete_post_link
.
Pasaremos esta función a nuestro enlace de eliminación, junto con la identificación de la publicación, de la siguiente manera:
"> / Eliminar
Y es así de simple eliminar publicaciones a través del extremo frontal. Solo ampliaremos esto un poco para asegurarnos de que no tendremos ningún error y daremos un poco más de notificación a los usuarios de que estamos eliminando una publicación. Hacemos esto insertando una función de confirmación muy simple en nuestro onclick, de la siguiente manera:
?') "href =""> Eliminar
Finalmente, envolveremos una condición alrededor de nuestro enlace de eliminación, para asegurarnos de que solo podamos eliminar una publicación si el estado actual de la publicación aún no está en la Papelera. Hacemos esto de la siguiente manera:
?') "href =""> Eliminar
¡Y eso es! Puedes enviar mensajes a la Papelera. En caso de que tenga curiosidad sobre el método alternativo para eliminar publicaciones, lo explicaré brevemente..
El método es muy simple para editar publicaciones, al pasar la ID de publicación a la URL junto con la adición de un parámetro de borrar
y verificando si el valor de este parámetro es verdadero, y si es verdadero, entonces pase el wp_trash_post
Función al enlace. Esto es muy simple y muy efectivo, pero para nuestra situación actual el get_delete_post_link
funciona perfectamente bien.
Eso es parte 2 completa! Ahora podemos insertar publicaciones, editar y eliminar publicaciones a través de la interfaz. Hemos cubierto mucho contenido hasta ahora, y en la siguiente parte iremos a cavar un poco más..
En la siguiente parte, veremos campos personalizados y más.
Me gustaría dar las gracias por pasar el tiempo leyendo mi tutorial, espero que haya sido de ayuda. Por favor, siéntase libre de dejar comentarios y haré todo lo posible para ayudar y responder, si no, siempre puede contactarme directamente a través de mi sitio web: www.VinnySingh.co o Twitter @VinnySinghUK
Estén atentos para la Parte 3!