Tutoriales

Instalar un plugin mediante un enlace en WordPress

El otro día desarrollando una funcionalidad en uno de mis plugins, quería ofrecer de forma sencilla que los usuarios instalaran otro plugin que creo que es complementario al mío. Hay formas de sugerir a un usuario que instale otro, como enviarlo a la página del plugin en el repositorio por ejemplo algo así si te recomendara instalar nuestro plugin para importar y exportar usuarios y clientes para WordPress y WooCommerce.

Pero claro, esa solución no es buena porque sacas al usuario del entorno entonces la probabilidad que el usuario no sepa instalar el plugin o en su defecto, sepa instalarlo pero se despiste es muy alta.

Así que nada, si estáis desarrollando un plugin y queréis sugerir que un usuario instale un plugin sería tan fácil como hacer esto que os dejo a continuación:

sprintf( '<a href="%s">Haz clic aquí para instalar y activar nuestro plugin para importar usuarios y clientes</a>', esc_url( wp_nonce_url( self_admin_url('update.php?action=install-plugin&plugin=import-users-from-csv-with-meta'), 'install-plugin_import_users_from_csv_with_meta') ) )

Lo que pasará es que si hacéis click WordPress directamente:

  • Instalará el plugin
  • Te ofrecerá activarlo

Todo eso claro está si tienes el rol suficiente para hacerlo. Básicamente se trata de crear una cadena que llame a :

  • Una URL de administración del sitio
  • En la ruta del fichero update.php
  • Con la acción install-plugin
  • Y pasando el plugin por parámetro, el slug del mismo
  • Todo ello se añade un nonce que se genera con una cadena que es install-plugin_ seguido del slug del plugin con los guiones cambiados por barras bajas

Y bueno ya que estamos os cuento que uso sprintf porque aunque aquí no es necesario expresamente al no haber cadenas internacionalizadas, es mucho más cómodo porque se queda la cadena sin la parte del anchor mucho más limpia para visualizar.

Nota: Hay una valoración incrustada en esta entrada, por favor, visita esta entrada para valorarla.

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Francisco Javier Carazo Gil

Entradas recientes

RedSys para Contact Form 7 ahora acepta preautorizaciones

RedSys aparte de los pagos normales, llamados autorizaciones, acepta una variedad de operaciones: desde autorizaciones…

hace % días

Ordenar productos de forma diferente por cada categoría en WooCommerce

WooCommerce permite ordenar los productos de una forma nativa, para poder presentar primero los que…

hace % días

Evitar que se instalen los temas por defecto de WordPress cada vez que actualizas el núcleo

Cada vez que hay una actualización grande del núcleo WordPress, por defecto WordPress te instala…

hace % días

Pantalla LCD: ¿qué es?

Una pantalla LCD es una pantalla delgada y hecha de cristal líquido. Se usa en…

hace % días

Flujos de pago con Gravity Flow y RedSys

De todos los plugins que existen para Gravity Forms, que son numerosos porque la propia…

hace % días

CMS, ¿Qué es y qué ventajas tiene?

Un CMS, como WordPress, facilita la creación y gestión de contenido en la web, sin…

hace % días