Funciones extensibles (By-Pass)

El by-passing es una práctica que permite crear una vía alternativa para la ejecución del proceso interno de una función. A diferencia de las funciones extensibles, en este caso no se reemplaza una función por otra, sino que se ingresa a la función original, se ejecuta un proceso diferente, y se detiene la ejecución del resto del código. En WordPress podemos lograrlo utilizando filtros.

<?php
// Función original:

function my_original_function() {
  if ( apply_filters( 'my_original_function_hook', false ) ) {
    return; // Se detiene la ejecución de la función en caso de que el filtro resuelva "true".
  }

  echo 'Hola mundo!';
}

// Función de by-pass:

function my_by_pass_function() {
  echo 'Chau mundo!';

  return true; // Devolvemos "true". Esto es importante para que la ejecución de la función original se detenga.
}

// Seteamos el filtro de by pass:
add_filter( 'my_original_function_hook', 'my_by_pass_function' );

// Llamamos a la función original:
my_original_function(); // Se imprime 'Chau mundo!'

results matching ""

    No results matching ""