Respuestas WordPress

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Orden apropiado del código en un plugin de Wordpress

Me gustaría ordenar el código de mi plugin de Wordpress adecuadamente. Por ejemplo, el fichero principal mi_plugin.php es el siguiente:

defined( 'ABSPATH' ) or die( 'No script kiddies please!' );

include( plugin_dir_path( __FILE__ ) . 'admin/polr-metabox.php');
include( plugin_dir_path( __FILE__ ) . 'admin/admin-all-posts-page.php');
include( plugin_dir_path( __FILE__ ) . 'admin/admin-menu.php');
include( plugin_dir_path( __FILE__ ) . 'admin/plugins-page.php');
include( plugin_dir_path( __FILE__ ) . 'admin/settings-page.php');

// === ACTIONS === //

// show metabox in post editing page
add_action('add_meta_boxes', 'my_plugin_add_metabox' ); // admin/my_plugin-metabox.php

// Save metabox data
add_action('save_post', ',y_plugin_save_metabox' ); // // admin/my_plugin-metabox.php

// Muchas más acciones
.....

// DESPUÉS COMIENZAN LAS FUNCIONES // 

function my_plugin_plugin_load_textdomain() {
    //
}

function my_plugin_init() {
  //

}

Como se puede apreciar, comienzo realizando los includes necesarios. Después, registro las acciones asociadas a las funciones (algunas funciones están en este fichero PHP principal y otras en los indicados en los includes) y por último coloco las funciones.

Me gustaría saber si esta practicas es correcta. En ocasiones, entre otras cosas he visto como se escribe primero la función y después la acción que llama a esta función.

2 Respuestas

1voto

RafelSanso Puntos3030

La estructura que planteas está bastante bien.

WordPress no aconseja ni desaconseja seguir ninguna estructura en particular. Lo que sí cambiaría es la forma con la que registras los hooks. Según la documentación de WordPress, se recomienda que las acciones se ejecuten solo si el plugin está activado, para ello se usa el register_activation_hook. Si lo haces con un add_action normal, cada vez que se lee ese php lo está ejecutando.

Aquí tienes la documentación con algunos ejemplos:
https://developer.wordpress.org/plugins/the-basics/activation-deactivation-hooks/

Por lo demás, un 10! :D

egoitz_gonzalez comentado May 23

En otras partes de código he visto que la gente en lugar de escribir los actions y filters al principio y después las funciones, suele poner una función seguida de la acción o filtro que la ejecuta. Que te parece esta practica?

RafelSanso comentado May 23

Yo lo hago igual. Porque sino es difícil tracearlo. Al final, una función no hará nada hasta que la invoquemos. Y el hook es donde la acción o el filtro se ejecuta.

egoitz_gonzalez comentado May 24

Estoy mirando lo que comentas del register_activation_hook y no lo entiendo como tu dices. Entiendo que se usa si queremos lanzar una función concreta y una configuración especifica del plugin cuando este es activado. Pero, según lo entiendo yo, si el plugin no esta activado, mis funciones añadidas mediante add_action no serán ejecutadas

pablocianes comentado Jul 14

register_activation_hook es para lanzar acciones en el momento de activarse el plugin, como por ejemplo crear una nueva tabla en la base de datos

1voto

pablocianes Puntos220

Yo estoy empezando aplicar un modo dividido por modulos como en otros frameworks.
Os dejo un enlace: https://github.com/PCianes/Collapsible-Content-Plugin

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

Usuarios Top

    ...
    Respuestas WordPress es un espacio de Preguntas y Respuestas entre usuarios WordPress.

    Conecta