Cómo duplicar una página en WordPress sin complementos en 2023

Si está utilizando WordPress para crear y administrar su sitio web, en algún momento, es posible que desee duplicar una página. Quizás esté pensando que puede simplemente copiar y pegar todo el contenido en una nueva página.

Esto funciona solo hasta cierto punto, ya que gran parte de su formato, como características, imágenes y SEO, se perderá y deberá rehacerse. Para obtener más información sobre este tema, puede consultar este artículo en duplicar una página en WordPress.

Además, si desea renovar una página y mejorarla, si comienza a editar la página existente, en lugar de hacer un duplicado, no tiene ningún punto de comparación. Cualquiera sea el motivo por el que necesite duplicar una página en WordPress, hay un par de formas en que puede hacerlo.

El alojamiento administrado de WordPress proporciona un entorno sólido y eficiente para ejecutar un sitio web de WordPress; duplicar una página sin un complemento es una tarea manual sencilla.

Ambos elementos son parte de una estrategia más amplia para administrar y mantener eficientemente un sitio web de WordPress, con alojamiento administrado que ofrece una red de seguridad que complementa las tareas manuales de administración del sitio, como la duplicación de páginas.

Copiar una página de WordPress sin complementos

Si no desea utilizar un complemento para copiar una página de WordPress, puede intentar modificar algunos código.

Un poco de codificación

No se preocupe si no es un gurú de la codificación (muy pocos de nosotros lo somos). Puede duplicar páginas de WordPress haciendo un poco de codificación, y no es tan difícil. Te proporcionaremos el código aquí, así que solo tienes que copiarlo y pegarlo. Expliquemos cómo hacer esto.

Accediendo al archivo Functions.php

Para duplicar una página sin un complemento, deberá acceder al archivo "functions.php" a través del método de codificación. Hay dos métodos principales que puede utilizar para acceder al archivo functions.php.

El primer método es mediante el uso del cliente FTP, por lo que primero debe instalar FTP Cliente. Inicie el cliente FTP, haga clic en "conectar" y proporcione su nombre de usuario y contraseña para conectarse al servidor de host FTP. Luego puede acceder al archivo apropiado yendo a "Raíz de WordPress", luego a "Contenido de WP", luego a "Temas", luego a "Temas actuales", y finalmente llegará a functions.php. A continuación, puede descargar el archivo, editarlo según sea necesario y volver a cargarlo en la ubicación adecuada.

El segundo método accede al archivo functions.php. Puede realizar cambios en el código iniciando sesión en WordPress como administrador, luego vaya al editor de apariencia en la barra lateral, seleccione el tema que desea editar y luego seleccione la función de temas (functions.php), que se encuentra debajo del " archivos de tema "en la" sección de plantillas ". Ahora puede realizar cambios en el código y, cuando haya terminado, simplemente presione el botón "actualizar".

Ahora ya sabe cómo acceder al archivo functions.php para que pueda realizar cambios en el código sin un complemento; el objetivo principal es duplicar una página. El siguiente paso es ingresar el código apropiado que luego duplicará la página. No se preocupe si no sabe mucho sobre codificación porque hemos incluido el código necesario que puede copiar y pegar.

/ * * Función para la duplicación de publicaciones.  Los duplicados aparecen como borradores.  El usuario es redirigido a la pantalla de edición * / function rd_duplicate_post_as_draft () {global $ wpdb; si (!  (isset ($ _GET ['publicación']) || isset ($ _POST ['publicación']) || (isset ($ _ REQUEST ['acción']) && 'rd_duplicate_post_as_draft' == $ _REQUEST ['acción']) )) {wp_die ('¡No se ha proporcionado ninguna publicación para duplicar!'); } / * * Verificación de Nonce * / if (! Isset ($ _GET ['duplicate_nonce']) ||! Wp_verify_nonce ($ _GET ['duplicate_nonce'], nombre base (__FILE__))) return; / * * obtener el ID de publicación original * / $ post_id = (isset ($ _ GET ['publicación'])?  absenta ($ _GET ['publicación']): absenta ($ _POST ['publicación'])); / * * y todos los datos de la publicación original, luego * / $ publicación = get_post ($ post_id); / * * si no quieres que el usuario actual sea el nuevo autor de la publicación, * cambia las siguientes líneas a esto: $ new_post_author = $ post-> post_author; * / $ actual_usuario = wp_get_current_user (); $ new_post_author = $ current_user-> ID; / * * si existen datos de publicación, cree el duplicado de publicación * / if (isset ($ publicación) && $ publicación! = null) {/ * * nueva matriz de datos de publicación * / $ args = matriz ('comment_status' => $ publicación -> comment_status, 'ping_status' => $ post-> ping_status, 'post_author' => $ new_post_author, 'post_content' => $ post-> post_content, 'post_excerpt' => $ post-> post_excerpt, 'post_name' => $ post-> post_name, 'post_parent' => $ post-> post_parent, 'post_password' => $ post-> post_password, 'post_status' => 'borrador', 'post_title' => $ post-> post_title, 'post_type '=> $ post-> post_type,' to_ping '=> $ post-> to_ping,' menu_order '=> $ post-> menu_order); / * * inserta la publicación mediante la función wp_insert_post () * / $ new_post_id = wp_insert_post ($ args); / * * obtener todos los términos de publicación actuales y establecerlos en el nuevo borrador de publicación * / $ taxonomies = get_object_taxonomies ($ post-> post_type); // devuelve una matriz de nombres de taxonomía para el tipo de publicación, ex matriz ("categoría", "etiqueta de publicación"); foreach ($ taxonomías como $ taxonomía) {$ post_terms = wp_get_object_terms ($ post_id, $ taxonomy, array ('fields' => 'slugs')); wp_set_object_terms ($ new_post_id, $ post_terms, $ taxonomía, falso); } / * * duplicar todos los metadatos de la publicación solo en dos consultas SQL * / $ post_meta_infos = $ wpdb-> get_results ("SELECCIONAR meta_key, meta_value FROM $ wpdb-> postmeta WHERE post_id = $ post_id"); if (count ($ post_meta_infos)! = 0) {$ sql_query = "INSERT INTO $ wpdb-> postmeta (post_id, meta_key, meta_value)"; foreach ($ post_meta_infos como $ meta_info) {$ meta_key = $ meta_info-> meta_key; if ($ meta_key == '_wp_old_slug') continuar; $ meta_value = agrega pestañas ($ meta_info-> meta_value); $ sql_query_sel [] = "SELECCIONAR $ new_post_id, '$ meta_key', '$ meta_value'"; } $ sql_query. = implode ("UNIÓN TODO", $ sql_query_sel); $ wpdb-> consulta ($ sql_query); } / * * finalmente, redirigir a la pantalla de edición de publicaciones para el nuevo borrador * / wp_redirect (admin_url ('post.php? action = edit & post ='.  $ new_post_id)); Salida; } else {wp_die ('Falló la creación de la publicación, no se pudo encontrar la publicación original:'.  $ post_id); }} add_action ('admin_action_rd_duplicate_post_as_draft', 'rd_duplicate_post_as_draft'); / * * Agregar el enlace duplicado a la lista de acciones para post_row_actions * / function rd_duplicate_post_link ($ actions, $ post) {if (current_user_can ('edit_posts')) {$ actions ['duplicate'] = '  wp_nonce_url ('admin.php? action = rd_duplicate_post_as_draft & post ='.  $ publicación-> ID, nombre base (__ FILE__), 'duplicate_nonce'). 

Si solo desea duplicar una publicación, no una página, reemplace esa última línea con:

add_filter ('post_row_actions', 'rd_duplicate_post_link', 10, 2);

Conclusión

Ahora sabe cómo copiar una página de WordPress sin complementos. Como puede ver, solo hay dos pasos involucrados. Primero, acceda al archivo functions.php, copie y pegue ese código en el archivo, y luego actualícelo. Es tan simple como eso, y una vez que haya terminado, tendrá un duplicado exacto de su página original.

    0 comentarios

    No hay comentarios.