¿Dónde pongo los fragmentos de código que encontré aquí o en otro lugar de la web?


34

Muchas publicaciones aquí o en otro lugar contienen código, pero no dicen dónde colocarlo.

Ejemplo:

He encontrado esta publicación: ¿Cómo desactivo las publicaciones de redireccionamiento 301 (no canónicas)?
Soy un novato con PHP. ¿Dónde exactamente debo colocar el código de la respuesta?


1
Me tomé la libertad de hacer su pregunta menos localizada, por lo que tenemos una publicación en el futuro que responde preguntas similares. Si cree que no está bien, use el enlace de reversión en el historial de edición.
fuxia

1
También puede intentar dejar un comentario sobre esa pregunta y preguntar allí.
JimmyPena

Respuestas:


34

Siempre que encuentre un fragmento de código sin instrucciones claras de instalación, probablemente sea un complemento. El ejemplo que diste es bueno, porque ese es el caso más común:

add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}

Para usar un fragmento de este tipo, colóquelo en un complemento:

  1. Cree un nuevo archivo, asígnele un nombre, por ejemplo remove_404_redirect.php.
  2. Escriba encabezados de complementos simples en el archivo desde el principio. Use la URL donde encontró el código como Plugin URLy el autor del código como Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  https://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  https://wordpress.stackexchange.com/users/9942/william
     */
  3. Coloque el código que desea usar debajo de los encabezados del complemento.

  4. Instala el nuevo complemento.

Eso es todo amigos.

Usted podría añadir el código a sus temáticas de functions.php. Pero esa no es una buena idea:

  • Por lo general, el código no pretende cambiar la representación visual de los datos de su sitio. Pero ese es el único propósito de un tema. No mezcle responsabilidades.
  • El código en functions.phpno se puede desactivar por separado. Si el código se rompe un día, debe functions.phpvolver a editarlo o cambiar de tema. Si desea utilizar otro tema, debe copiar y pegar todo ese código nuevamente.
  • Si pones más y más fragmentos en el functions.php, obtienes un desastre imposible de mantener con el tiempo.

Relacionado: ¿Dónde poner mi código: plugin o functions.php?


¡Gracias! Funcionó a las mil maravillas. Y gracias por hacer que el cargo menos localizada. ¿Cómo puedo compartir mi archivo plugin con los demás?
Carl

1
Puede publicarlo en wordpress.org o en un servicio de alojamiento de código gratuito como GitHub. Pero yo le pediría al autor antes de que yo haría eso. Para indicar que una respuesta resolvió su problema, haga clic en la pequeña marca de verificación ✔ en esa respuesta, para que otros lectores la vean de inmediato.
fuxia

Al hacer un complemento como este, ¿necesito colocar el archivo en una carpeta y comprimirlo / comprimirlo, o el instalador del complemento también funcionaría con un php independiente?
OC2PS

Además, sería hacer un plugin con un simple, sencillo declaración como add_filter ( 'flush_rewrite_rules_hard', '__return_false'); ¿trabajo?
OC2PS

1
@ OC2PS No, el final del archivo es el final del programa.
fuxia

16

Soy el desarrollador del plugin que le permite añadir fragmentos de código a un sitio de WordPress a través de una interfaz de administración.

Agrega una interfaz gráfica, similar al menú Complementos, para administrar fragmentos. Los fragmentos pueden activarse o desactivarse, asignarse un nombre y una descripción y clasificarse mediante etiquetas. También se pueden hacer copias de seguridad y transferir entre sitios mediante la función de importación / exportación.

Administrar fragmentos existentes

Editar un fragmento

Más capturas de pantalla

Puede obtener más información sobre el complemento Code Snippets en WordPress.org y ver su código en GitHub .


6

El código al que se hace referencia en el enlace debe colocarse en el archivo functions.php de su tema, no en canonical.php. Siempre debe evitar modificar los archivos WP principales. No necesita sobrescribir ni comentar ningún otro código.

Haga una copia de seguridad de su archivo functions.php antes de editarlo, ya que incluso un simple error de sintaxis en functions.php puede eliminar todo su sitio.


No quería modificar ningún archivo WP principal. Gracias por tu ayuda.
Carl

77
@Carl Él declara claramente que no modifica los archivos principales. Triste porque no puedo rechazar comentarios ...
kaiser

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.