{"id":47405,"date":"2026-04-24T19:47:47","date_gmt":"2026-04-24T17:47:47","guid":{"rendered":"https:\/\/www.hostinger.com\/co\/tutoriales\/wordpress-add-action\/"},"modified":"2026-04-24T19:47:47","modified_gmt":"2026-04-24T17:47:47","slug":"wordpress-add-action","status":"publish","type":"post","link":"\/co\/tutoriales\/wordpress-add-action\/","title":{"rendered":"Qu\u00e9 son las acciones en WordPress y c\u00f3mo usar add_action()"},"content":{"rendered":"<p class=\"wp-block-paragraph\">WordPress es una plataforma muy flexible que permite ampliar su funcionalidad con distintos ganchos y funciones. Entre ellas, una de las m&aacute;s utilizadas es <strong>add_action()<\/strong>, que te permite a&ntilde;adir comportamientos personalizados sin tocar los archivos del n&uacute;cleo de WordPress.<\/p><p class=\"wp-block-paragraph\">En este art&iacute;culo ver&aacute;s c&oacute;mo usar <strong>add_action()<\/strong> de WordPress para conectar tu c&oacute;digo con las acciones predefinidas dentro de la plataforma. Cuando entiendas bien c&oacute;mo funciona, podr&aacute;s ampliar las posibilidades de tu web y adaptarla mejor a lo que necesitas.<\/p><p>\n\n\n<div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   &iquest;Qu&eacute; es una acci&oacute;n de WordPress?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\"> Las acciones de WordPress son ganchos que ejecutan c&oacute;digo personalizado en momentos espec&iacute;ficos durante la ejecuci&oacute;n de WordPress. Estos ganchos de acci&oacute;n activan funciones cuando ocurren ciertos eventos, como cargar el encabezado o publicar una entrada. <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">Los <a href=\"\/co\/tutoriales\/que-son-hooks-wordpress\/\">ganchos de WordPress<\/a> se dividen en dos tipos: <strong>acciones<\/strong> y <strong>filtros<\/strong>. Las acciones permiten a&ntilde;adir o modificar comportamientos al asociar funciones a eventos concretos, mientras que los filtros sirven para modificar los datos mientras WordPress los procesa.<\/p><p class=\"wp-block-paragraph\">Por ejemplo, con <strong>add_action()<\/strong> puedes hacer que tu c&oacute;digo se ejecute justo cuando ocurre un evento, como al publicar una entrada. En cambio, con <strong>add_filter()<\/strong> puedes modificar el contenido de esa entrada antes de que se muestre en pantalla.<\/p><h3 class=\"wp-block-heading\" id=\"h-how-do-wordpress-actions-work\">C&oacute;mo funcionan las acciones de WordPress<\/h3><p class=\"wp-block-paragraph\">Las acciones de WordPress permiten ejecutar funciones personalizadas en momentos concretos del ciclo de carga de la plataforma. Con <strong>add_action()<\/strong>, puedes conectar tu c&oacute;digo a esos eventos para que se ejecute justo cuando corresponde.<\/p><p class=\"wp-block-paragraph\">Por ejemplo, si quieres a&ntilde;adir un script a la cabecera de tu sitio, puedes usar<em> <\/em>el gancho <strong>wp_head<\/strong>. Al asociar tu funci&oacute;n a este evento, WordPress ejecutar&aacute; tu c&oacute;digo autom&aacute;ticamente cada vez que se cargue la cabecera de la p&aacute;gina.<\/p><p class=\"wp-block-paragraph\"><strong>A&ntilde;adir acciones en WordPress<\/strong><\/p><p class=\"wp-block-paragraph\">Puedes a&ntilde;adir acciones en WordPress de varias formas, seg&uacute;n d&oacute;nde quieras colocar tu c&oacute;digo personalizado:<\/p><ul class=\"wp-block-list\">\n<li><strong>Archivo functions.php del tema<\/strong>: es la opci&oacute;n m&aacute;s habitual si los cambios dependen del tema. Solo tienes que abrir el archivo functions.php del tema activo y a&ntilde;adir ah&iacute; tu c&oacute;digo con <strong>add_action()<\/strong>.<\/li>\n\n\n\n<li><strong>Archivo functions.php del tema hijo<\/strong>: si <a href=\"\/co\/tutoriales\/utilizar-child-theme\/\">creaste un tema hijo<\/a>, puedes a&ntilde;adir tus acciones en su archivo <strong>functions.php<\/strong>. Es una buena opci&oacute;n si quieres mantener los cambios separados del tema principal y evitar que se pierdan al actualizarlo.<\/li>\n\n\n\n<li><strong>Plugin personalizado<\/strong>: si quieres que tu c&oacute;digo funcione independientemente del tema, lo mejor es crear un plugin propio para que siga funcionando aunque cambies de tema. Para hacerlo, crea un archivo PHP en la carpeta <strong>wp-content\/plugins\/<\/strong>, a&ntilde;ade el c&oacute;digo con <strong>add_action()<\/strong> y activa el plugin.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-wordpress-add-action-parameters\">Par&aacute;metros de add_action() en WordPress<\/h3><p class=\"wp-block-paragraph\">La funci&oacute;n add_action() permite controlar c&oacute;mo y cu&aacute;ndo se ejecuta tu c&oacute;digo personalizado mediante varios par&aacute;metros. Vamos a verlos uno a uno:<\/p><ul class=\"wp-block-list\">\n<li><strong>$hook_name<\/strong>: indica el nombre del gancho de acci&oacute;n al que quieres asociar tu funci&oacute;n. Este gancho define en qu&eacute; momento se ejecutar&aacute;. WordPress incluye muchos ganchos predefinidos, como <strong>init<\/strong>, que ejecuta c&oacute;digo una vez que WordPress ha terminado de cargarse, o <strong>wp_footer<\/strong>, que permite a&ntilde;adir c&oacute;digo al pie de p&aacute;gina.<\/li>\n\n\n\n<li><strong>$callback<\/strong>: es el nombre de la funci&oacute;n que se ejecutar&aacute; cuando se dispare el gancho indicado. Aqu&iacute; es donde defines el c&oacute;digo personalizado que quieres ejecutar en el momento adecuado dentro de WordPress.<\/li>\n\n\n\n<li><strong>$priority (opcional)<\/strong>: el par&aacute;metro <strong>$priority<\/strong> define el orden en el que WordPress ejecuta las funciones asociadas al mismo gancho. Por defecto, su valor es 10, pero puedes ajustarlo para que tu funci&oacute;n se ejecute antes o despu&eacute;s que otras. Cuanto m&aacute;s bajo sea el n&uacute;mero, antes se ejecutar&aacute;.<\/li>\n\n\n\n<li><strong>$accepted_args (opcional)<\/strong>: indica cu&aacute;ntos argumentos puede recibir tu funci&oacute;n. Por defecto es <strong>1<\/strong>, pero puedes aumentarlo si necesitas trabajar con m&aacute;s par&aacute;metros.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Aqu&iacute; tienes un ejemplo de una funci&oacute;n <strong>add_action()<\/strong> completa:<\/p><pre class=\"wp-block-preformatted\">function my_custom_script() {<br><br>echo 'alert(\"Hola, mundo\");';<br><br>}<br><br>add_action( 'wp_footer', 'my_custom_script', 10, 1 );<\/pre><ul class=\"wp-block-list\">\n<li><strong>$hook_name: &lsquo;wp_footer&rsquo;<\/strong>. Esto indica que la funci&oacute;n debe ejecutarse cuando se dispare el gancho de acci&oacute;n <strong>wp_footer<\/strong>, lo cual ocurre cuando WordPress est&aacute; a punto de cerrar la etiqueta body en cada p&aacute;gina.<\/li>\n\n\n\n<li><strong>$callback: &lsquo;my_custom_script&rsquo;<\/strong>. El nombre de la funci&oacute;n que se ejecutar&aacute; cuando se llame al hook <strong>wp_footer<\/strong>.<\/li>\n\n\n\n<li><strong>Prioridad: 10<\/strong>. Esta es la prioridad predeterminada, lo que significa que la funci&oacute;n se ejecutar&aacute; en el orden est&aacute;ndar con respecto a otras funciones vinculadas a <strong>wp_footer<\/strong>.<\/li>\n\n\n\n<li><strong>$accepted_args: 1<\/strong>. Aunque esta funci&oacute;n no requiere argumentos, WordPress la configura para aceptar <strong>un<\/strong> argumento de forma predeterminada.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Cuando WordPress carga el pie de p&aacute;gina, se ejecuta la funci&oacute;n <strong>my_custom_script<\/strong>, que inserta un script para mostrar un mensaje de alerta con el texto &ldquo;&iexcl;Hola, mundo!&rdquo; antes de que la p&aacute;gina se cierre.<\/p><h2 class=\"wp-block-heading\" id=\"h-example-of-add-action-in-wordpress\">Ejemplo de add_action() en WordPress<\/h2><p class=\"wp-block-paragraph\">Aqu&iacute; tienes algunos usos pr&aacute;cticos de la funci&oacute;n <strong>add_action()<\/strong>. Si <a href=\"\/co\/wordpress-hosting\">alojas tu sitio de WordPress en Hostinger<\/a> y quieres probar estos ejemplos, pru&eacute;balos primero en un entorno de pruebas.<\/p><p class=\"wp-block-paragraph\">Esto te permite experimentar con seguridad sin afectar tu web en producci&oacute;n. Puedes seguir nuestra gu&iacute;a para <a href=\"\/co\/tutoriales\/entorno-staging-wordpress\/\">configurar un entorno de pruebas de WordPress<\/a> con la herramienta de staging de Hostinger.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"\/co\/hosting-wordpress\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-40615\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/40\/2024\/06\/ES-New-WP_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-adding-a-custom-script-to-the-wordpress-frontend\">A&ntilde;adir un script personalizado al frontend de WordPress<\/h3><p class=\"wp-block-paragraph\">Con add_action() puedes a&ntilde;adir scripts personalizados en el frontend de tu sitio. Esto viene bien cuando necesitas incorporar archivos JavaScript o peque&ntilde;os scripts que mejoren la funcionalidad o el dise&ntilde;o.<\/p><p class=\"wp-block-paragraph\">Por ejemplo, puedes a&ntilde;adir un archivo JavaScript a la cabecera para crear elementos interactivos o analizar el comportamiento de los usuarios. Para hacerlo, vincula tu c&oacute;digo al gancho <strong>wp_enqueue_scripts<\/strong>, que se encarga de cargar scripts y estilos en WordPress.<\/p><p class=\"wp-block-paragraph\">As&iacute; es como puedes hacerlo:<\/p><pre class=\"wp-block-preformatted\">function add_custom_script() {<br><br>wp_enqueue_script( 'custom-js', get_template_directory_uri() . '\/js\/custom-script.js', array(), null, true );<br><br>}<br><br>add_action( 'wp_enqueue_scripts', 'add_custom_script' );<\/pre><p class=\"wp-block-paragraph\">En este ejemplo, se llama a la funci&oacute;n wp_enqueue_script con varios par&aacute;metros:<\/p><ul class=\"wp-block-list\">\n<li><strong>&lsquo;custom-js&rsquo;<\/strong>: es el identificador &uacute;nico de tu script.<\/li>\n\n\n\n<li><strong>get_template_directory_uri() . &lsquo;\/js\/custom-script.js&rsquo;<\/strong>: indica la ubicaci&oacute;n del archivo JavaScript dentro del directorio de tu tema.<\/li>\n\n\n\n<li><strong>array()<\/strong>: es la lista de dependencias del script. Puedes dejarla vac&iacute;a si no hay ninguna.<\/li>\n\n\n\n<li><strong>null (opcional)<\/strong>: corresponde a la versi&oacute;n del script.<\/li>\n\n\n\n<li><strong>true<\/strong>: define si el script se carga en el pie de p&aacute;gina <strong>(true) <\/strong>o en la cabecera <strong>(false)<\/strong>.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">La l&iacute;nea <strong>add_action(&lsquo;wp_enqueue_scripts&rsquo;, &lsquo;add_custom_script&rsquo;)<\/strong> vincula la funci&oacute;n <strong>add_custom_script<\/strong> a la acci&oacute;n <strong>wp_enqueue_scripts<\/strong>. Este enfoque evita conflictos con otros temas o plugins que tambi&eacute;n puedan estar cargando sus propios scripts.<\/p><h3 class=\"wp-block-heading\" id=\"h-adding-a-custom-footer-message\">Agregar un mensaje personalizado en el pie de p&aacute;gina<\/h3><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes usar la funci&oacute;n <strong>add_action()<\/strong> para personalizar el pie de p&aacute;gina de tu sitio. Si quieres mostrar un mensaje personalizado, agregar un aviso de derechos de autor o incluir HTML o scripts adicionales, <strong>wp_footer<\/strong> es ideal.<\/p><p class=\"wp-block-paragraph\">Este gancho se ejecuta justo antes de la etiqueta de cierre <strong>&lt;\/body&gt;<\/strong> en todas las p&aacute;ginas del sitio. Por eso, es ideal para a&ntilde;adir contenido que quieres que aparezca en toda la web, como en el siguiente ejemplo::<\/p><pre class=\"wp-block-preformatted\">function add_custom_footer_message() {<br><br>echo '&iexcl;Gracias por visitar nuestro sitio web!';<br><br>}<br><br>add_action( 'wp_footer', 'add_custom_footer_message' );<\/pre><p class=\"wp-block-paragraph\">Aqu&iacute; agregas un p&aacute;rrafo HTML sencillo con un mensaje de texto centrado. Luego, <strong>add_action()<\/strong> vincula la funci&oacute;n <strong>add_custom_footer_message<\/strong> a la acci&oacute;n <strong>wp_footer<\/strong>.<\/p><p class=\"wp-block-paragraph\">Como resultado, cada vez que WordPress llega al gancho <strong>wp_footer<\/strong>, el mensaje personalizado se muestra en el pie de p&aacute;gina del sitio.<\/p><h3 class=\"wp-block-heading\" id=\"h-adding-a-custom-admin-notice\">Agregar un aviso de administrador personalizado<\/h3><p class=\"wp-block-paragraph\">En WordPress, los avisos del panel de administraci&oacute;n permiten comunicar informaci&oacute;n importante a quien gestiona el sitio. Pueden incluir advertencias, actualizaciones u otros mensajes relevantes.<\/p><p class=\"wp-block-paragraph\">Al usar <strong>add_action()<\/strong> con la acci&oacute;n <strong>admin_notices<\/strong>, el aviso se muestra en un punto espec&iacute;fico cada vez que se carga el &aacute;rea de administraci&oacute;n. El siguiente fragmento de c&oacute;digo muestra c&oacute;mo agregar un aviso  personalizado:<\/p><pre class=\"wp-block-preformatted\">function custom_admin_notice() {<br><br>echo '&lt;div class=\"notice notice-success is-dismissible\"&gt;<br><br>&lt;p&gt;&iexcl;Este es un aviso de administraci&oacute;n personalizado!&lt;\/p&gt;<br><br>&lt;\/div&gt;';<br><br>}<br><br>add_action( 'admin_notices', 'custom_admin_notice' );<\/pre><p class=\"wp-block-paragraph\">Esta funci&oacute;n personalizada de WordPress genera el HTML del aviso del &aacute;rea de administraci&oacute;n. El elemento <strong>&lt;div&gt;<\/strong> incluye varias clases:<\/p><ul class=\"wp-block-list\">\n<li><strong>notice<\/strong>: es necesaria para aplicar el estilo de aviso.<\/li>\n\n\n\n<li><strong>notice-success<\/strong>: define el aviso como un mensaje de &eacute;xito. Si quieres mostrar otros tipos de mensajes, puedes usar <strong>notice-warning<\/strong>, <strong>notice-error<\/strong> o <strong>notice-info<\/strong>.<\/li>\n\n\n\n<li><strong>is-dismissible<\/strong>: esta clase a&ntilde;ade un bot&oacute;n para cerrar el aviso.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Adem&aacute;s, puedes a&ntilde;adir l&oacute;gica a tu funci&oacute;n para que el aviso solo se muestre en determinadas situaciones, por ejemplo, al editar un tipo de contenido espec&iacute;fico o despu&eacute;s de actualizar un plugin.<\/p><p class=\"wp-block-paragraph\">A continuaci&oacute;n, tienes un ejemplo en el que el aviso solo aparece al editar un tipo de contenido concreto:<br><\/p><pre class=\"wp-block-preformatted\">function conditional_admin_notice() {<br><br>global $post;<br><br>if ( $post-&gt;post_type == 'your_post_type' ) {<br><br>echo '<br><br>Este es un aviso personalizado para tu tipo de publicaci&oacute;n.<br><br>';<br><br>}<br><br>}<br><br>add_action( 'admin_notices', 'conditional_admin_notice' );<\/pre><h3 class=\"wp-block-heading\" id=\"h-adding-a-custom-sidebar-widget\">Agregar un widget personalizado a la barra lateral<\/h3><p class=\"wp-block-paragraph\">Un <a href=\"\/co\/tutoriales\/que-es-widget-wordpress\/\">widget es<\/a> un bloque peque&ntilde;o que cumple una funci&oacute;n espec&iacute;fica, como mostrar entradas recientes, una barra de b&uacute;squeda o HTML personalizado. Si usas el gancho de acci&oacute;n <strong>widgets_init<\/strong>, puedes registrar y mostrar tu propio widget en la barra lateral o en cualquier otra &aacute;rea de widgets.<\/p><p class=\"wp-block-paragraph\">Para empezar, tienes que definir una clase que extienda <strong>WP_Widget<\/strong>. En ella se incluye la l&oacute;gica del widget, c&oacute;mo se muestra y los campos de formulario para personalizar su contenido.<\/p><pre class=\"wp-block-preformatted\">class My_Custom_Widget extends WP_Widget<br><br> {<br> \/\/ Constructor para configurar el nombre, la descripci&oacute;n y m&aacute;s del widget<br> <br><br>public function __construct() {<br> <br><br>parent:__construct(<br> <br><br>'my_custom_widget', \/\/ ID<br><br> base<br> __( 'Mi widget personalizado', 'text_domain' ), \/\/ Nombre del widget en el administr<br><br>ador<br> array( 'description' =&gt; __( 'Un widget personalizado que muestra un mensaje.', 'text_domain' ) ) \/\/ Descripci&oacute;n del<br><br><br><br><br><br> widget<br> );<br> }<br><br> \/\/ Mostrar el contenido del widget en el fron<br><br>tend<br> public function widget( $args, $instance ) {<br> <br><br>echo $args['before_widget'];<br> <br><br>echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args[<br><br>'after_title'];<br> <br><br>echo '&lt;p&gt;' . __( '&iexcl;Hola, este es mi widget personalizado!', 'text_domain' ) . '&lt;\/<br><br><br><br>p&gt;'<br><br><br><br>;<br> <br><br><br><br>echo $args['after_widget'];<br> }<br><br> \/\/ Mostrar el formulario de opciones del widget en el administrador<br> public function form( $instance ) {<br> $title = ! <br><br>empty( $instance['title'] ) ? $instance['title'] : __( 'Nuevo t&iacute;tulo', 'text_domain' );<br> ?&gt;<br> &lt;p&gt;<br> &lt;label for=\"&lt;?php echo esc_attr( $this-&gt;get_field_id( <br><br>'title' ) ); ?&gt;\"&gt;&lt;?php _e( 'T&iacute;tulo:', 'text_domain' ); ?&gt;<br><br><br><br>&lt;\/label&gt;<br> &lt;input class=\"widefat\" id=\"&lt;?php echo esc_attr( $this-&gt;get_field_id( 'title' ) ); ?&gt;\" name=\"&lt;?php<br><br><br><br> <br><br>echo esc_attr( $this-&gt;g<br><br>et_field_name( 'title' ) ); ?&gt;\" type=\"text\" value=\"&lt;?<br><br>php echo esc_attr( $title ); ?&gt;\"&gt;<br> &lt;\/p&gt;<br> &lt;?php<br> }<br><br> \/\/ Procesar las opciones del widget para <br><br>guardar<br> public function update( $new_instance<br><br><br><br>, $old_instance ) {<br> $instance = array();<br> $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : '';<br> return $instance;<br> }<br>}<\/pre><p class=\"wp-block-paragraph\">En el fragmento anterior, <strong>My_Custom_Widget<\/strong> extiende la clase <strong>WP_Widget<\/strong> e incluye los m&eacute;todos necesarios para mostrar el widget (<strong>widget<\/strong>), generar el formulario de administraci&oacute;n (<strong>form<\/strong>) y guardar sus opciones (<strong>update<\/strong>).<\/p><p class=\"wp-block-paragraph\">Una vez definida la clase, solo queda registrarla con el gancho de acci&oacute;n <strong>widgets_init<\/strong>. Aqu&iacute; es donde entra en juego <strong>add_action()<\/strong>:<\/p><pre class=\"wp-block-preformatted\">function register_my_custom_widget() {<br><br>register_widget( 'My_Custom_Widget' );<br><br>}<br><br>add_action( 'widgets_init', 'register_my_custom_widget' );<\/pre><p class=\"wp-block-paragraph\">Al vincular la funci&oacute;n <strong>register_my_custom_widge<\/strong>t al gancho <strong>widgets_init<\/strong>, WordPress registrar&aacute; tu widget personalizado durante la inicializaci&oacute;n de los widgets. Despu&eacute;s, podr&aacute;s a&ntilde;adirlo a la barra lateral o a cualquier otra &aacute;rea disponible.<\/p><h2 class=\"wp-block-heading\" id=\"h-other-wordpress-action-functions\">Otras funciones de acci&oacute;n de WordPress<\/h2><p class=\"wp-block-paragraph\">Adem&aacute;s de <strong>add_action()<\/strong>, WordPress incluye otras funciones para trabajar con ganchos de acci&oacute;n. que permiten ejecutar c&oacute;digo personalizado, eliminar acciones o comprobar si ya hay funciones registradas en un gancho concreto.<\/p><p class=\"wp-block-paragraph\"><strong>do_action()<\/strong><\/p><p class=\"wp-block-paragraph\">La funci&oacute;n <strong>do_action()<\/strong> se encarga de activar un gancho de acci&oacute;n, es decir, ejecuta todas las funciones que est&eacute;n asociadas a &eacute;l. Tambi&eacute;n puedes usarla en tu propio c&oacute;digo para crear nuevos ganchos a los que t&uacute; u otros desarrolladores puedan engancharse, lo que facilita crear c&oacute;digo m&aacute;s flexible y modular.<\/p><pre class=\"wp-block-preformatted\">do_action( 'mi_accion_personalizada' );<\/pre><p class=\"wp-block-paragraph\">En este ejemplo, la funci&oacute;n <strong>do_action()<\/strong> dispara el gancho <strong>my_custom_action<\/strong>.<\/p><p class=\"wp-block-paragraph\"><strong>remove_action()<\/strong><\/p><p class=\"wp-block-paragraph\">En cambio, <strong>remove_action()<\/strong> quita una funci&oacute;n de un gancho de acci&oacute;n espec&iacute;fico. Esto puede ser &uacute;til cuando necesitas sobrescribir o impedir que se ejecute una funci&oacute;n en particular, especialmente al trabajar con plugins o temas de terceros.<\/p><pre class=\"wp-block-preformatted\">remove_action( 'wp_head', 'wp_generator' );<\/pre><p class=\"wp-block-paragraph\">Aqu&iacute; usas <strong>remove_action()<\/strong> para desvincular <strong>wp_generator<\/strong> de <strong>wp_head<\/strong>.<\/p><p class=\"wp-block-paragraph\"><strong>has_action()<\/strong><\/p><p class=\"wp-block-paragraph\">Usa la funci&oacute;n <strong>has_action()<\/strong> para comprobar si hay funciones asociadas a un gancho antes de ejecutar cierto c&oacute;digo y asegurarte de que la acci&oacute;n que quieres modificar est&eacute; realmente registrada.<\/p><pre class=\"wp-block-preformatted\">if ( has_action( 'wp_footer', 'my_custom_footer' ) ) {<br><br>\/\/ La funci&oacute;n de pie de p&aacute;gina personalizada est&aacute; enganchada, as&iacute; que haz algo<\/pre><p class=\"wp-block-paragraph\">En el ejemplo anterior, <strong>has_action()<\/strong> comprueba si la funci&oacute;n <strong>my_custom_footer<\/strong> est&aacute; asociada al gancho <strong>wp_footer<\/strong>. Si es as&iacute;, puedes usar una condici&oacute;n para ejecutar l&oacute;gica adicional en funci&oacute;n de ese resultado.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi&oacute;n<\/h2><p class=\"wp-block-paragraph\">Este art&iacute;culo explic&oacute; c&oacute;mo la funci&oacute;n <strong>add_action()<\/strong> de WordPress te permite ampliar y personalizar tu sitio web. Desde agregar scripts personalizados y mensajes en el pie de p&aacute;gina hasta crear widgets &uacute;nicos para la barra lateral, puedes personalizar r&aacute;pidamente la funcionalidad de tu sitio sin alterar los archivos principales.<\/p><p class=\"wp-block-paragraph\">Tambi&eacute;n hemos analizado otras funciones relacionadas con acciones como <strong>do_action()<\/strong>, <strong>remove_action()<\/strong> y <strong>has_action()<\/strong>, lo que te da a&uacute;n m&aacute;s control sobre c&oacute;mo y cu&aacute;ndo WordPress ejecuta tu c&oacute;digo personalizado. Dominar estas herramientas te permite crear un sitio web de WordPress m&aacute;s din&aacute;mico y personalizado.<\/p><h2 class=\"wp-block-heading\" id=\"h-wordpress-add-action-faq\">Preguntas frecuentes sobre add_action() en WordPress<\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1777051188191\" class=\"rank-math-list-item\">\n<h4 class=\"rank-math-question \">&iquest;Cu&aacute;l es la diferencia entre add_action() y add_filter()?u003cbru003e<\/h4>\n<div class=\"rank-math-answer \">\n\n<p>u003cstrongu003eadd_action()u003c\/strongu003e permite ejecutar funciones personalizadas en momentos concretos del flujo de WordPress, mientras que u003cstrongu003eadd_filter()u003c\/strongu003e se usa para modificar datos antes de que se muestren.u003cbru003eAmbas funciones son clave para ampliar y adaptar el funcionamiento de WordPress a tus necesidades.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1777051211944\" class=\"rank-math-list-item\">\n<h4 class=\"rank-math-question \">&iquest;Es seguro usar add_action() en el archivo functions.php?u003cbru003e<\/h4>\n<div class=\"rank-math-answer \">\n\n<p>S&iacute;, puedes usar u003cstrongu003eadd_action()u003c\/strongu003e en el archivo functions.php sin problema. Aun as&iacute;, si el c&oacute;digo es complejo o quieres reutilizarlo, lo m&aacute;s recomendable es crear un plugin personalizado para mantener tu proyecto organizado y f&aacute;cil de mantener.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1777051231013\" class=\"rank-math-list-item\">\n<h4 class=\"rank-math-question \">&iquest;Cu&aacute;l es la diferencia entre do_action() y add_action()?u003cbru003e<\/h4>\n<div class=\"rank-math-answer \">\n\n<p>u003cstrongu003eadd_action()u003c\/strongu003e registra una funci&oacute;n para que se ejecute cuando se active un gancho de acci&oacute;n, mientras que u003cstrongu003edo_action()u003c\/strongu003e activa ese gancho y ejecuta todas las funciones asociadas.u003cbru003eJuntas permiten ejecutar c&oacute;digo de forma flexible y modular en WordPress.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div><p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress es una plataforma muy flexible que permite ampliar su funcionalidad con distintos ganchos y funciones. Entre ellas, una de las m&aacute;s utilizadas es add_action(), que te permite a&ntilde;adir comportamientos personalizados sin tocar los archivos del n&uacute;cleo de WordPress. En este art&iacute;culo ver&aacute;s c&oacute;mo usar add_action() de WordPress para conectar tu c&oacute;digo con las acciones [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/co\/tutoriales\/wordpress-add-action\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":560,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo usar wordpress add_action con ejemplos pr\u00e1cticos","rank_math_description":"Aprende qu\u00e9 es wordpress add_action, c\u00f3mo funciona y c\u00f3mo usarlo con ejemplos pr\u00e1cticos para personalizar tu sitio.","rank_math_focus_keyword":"wordpress add_action","footnotes":""},"categories":[4747],"tags":[],"class_list":["post-47405","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-add_action\/","default":1},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/wordpress-add-action\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-add_action\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-add_action\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/wordpress-add-action\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wordpress-add-action\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/wordpress-add-action\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/47405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/users\/560"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/comments?post=47405"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/posts\/47405\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/media?parent=47405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/categories?post=47405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/co\/tutoriales\/wp-json\/wp\/v2\/tags?post=47405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}