it-swarm-es.com

¿La desinstalación del plugin siempre vuelve a poner WordPress en su estado original?

¿Qué es una vida útil del complemento dentro de una instancia implementada de WordPress?

A saber:

  • ¿Los complementos modifican los archivos existentes o solo usan puntos de extensión definidos dentro de WordPress?
  • ¿Se les permite a los complementos modificar el esquema de la base de datos (por ejemplo, agregar nuevas columnas)?
  • ¿Cómo garantiza Wordpress que la desinstalación del complemento siempre deja WP en su estado original? (¿Lo hace?)
4
Marek

Respuesta corta:

  • Los complementos no modifican los archivos existentes, se conectan a WordPress a través de una API expuesta.
  • Los complementos pueden modificar el esquema de la base de datos.
  • Los complementos no tienen que desinstalar limpiamente.

Ganchos de plugin

Los complementos se enganchan a WordPress en un punto específico expuesto por el núcleo de WordPress.

http://codex.wordpress.org/Plugin_API

Como ejemplo, la función get_option() lee una opción de sitio de la base de datos. Antes de realizar una acción real dentro de esta función, WordPress llama a apply_filters( 'pre_option_' . $option, false ). Dada una opción foobar, un complemento podría reemplazar el verdadero valor de esta opción con el siguiente código:

function override_foobar( $unused ) {
    return 'My custom value.';
}
add_filter( 'pre_option_foobar', 'override_foobar' ); // add_filter(hook, function)

Véase también http://adambrown.info/p/wp_hooks/ .

Complementos que modifican la base de datos.

Los complementos tienen la capacidad de modificar la base de datos, asumiendo que el usuario de la base de datos de WordPress aún tenga ese permiso. Algunos de los complementos más complejos añaden sus propias tablas. Es posible que un complemento pueda modificar las tablas centrales, y es de esperar que lo hagan de manera responsable y de una manera que no rompa las cosas si se elimina el complemento.

Esto tiene que ser examinado en una base de plugin a plugin.

Desinstalando complementos

La función deactivate_plugins() llama a la acción do_action( 'deactivate_' . trim( $plugin ) ). Un complemento debe engancharse a esta acción si es necesario que ocurran cosas específicas cuando el complemento está desactivado. En mi experiencia, pocos complementos hacen un montón de limpieza de desactivación, es decir. poniendo sus configuraciones en cámara frigorífica en caso de que se activen de nuevo.

15
Annika Backstrom

Los plugins en WordPress hacen lo que dice el código. Para responder específicamente a sus preguntas,

  1. No deberían, pero no hay nada que les impida modificar los archivos principales.
  2. Se les permite interactuar completamente con la base de datos de cualquier manera que WordPress pueda hacerlo.
  3. WordPress no se asegura de que la desinstalación de un complemento no destruya toda la instalación. Si un autor de complementos configura la función de desinstalación para que elimine todo, lo haría.

Así que esto deja la pregunta, ¿qué se puede hacer si un autor de un complemento traiciona su confianza y hace algo malicioso en su sitio? Tener copias de seguridad regulares de su directorio wp-content, así como de toda su base de datos, es la mejor manera de asegurarse de que podrá recuperarse en caso de que algo suceda en su sitio (por ejemplo, pérdida de datos, ataque de hackers, plugin defectuoso, etc.) .

3
John P Bloch

Respuesta directa: NO

Los complementos pueden hacer lo que usted puede hacer con PHP código ..

1
User