Saltar al contenido

pasar parámetros a php include/require construct

Si encuentras alguna parte que no entiendes puedes comentarlo y haremos todo lo posible de ayudarte lo mas rápido que podamos.

Solución:

No hay forma de pasar parámetros para incluir o requerir.

Sin embargo, el código que se incluye se une al flujo del programa en el punto donde lo incluye, por lo que heredará las variables que estén dentro del alcance. Entonces, por ejemplo, si configura $myflag=true inmediatamente antes de la inclusión, su código incluido podrá comprobar en qué está configurado $myflag.

Dicho esto, no sugeriría usar esa técnica. Es mucho mejor que su archivo de inclusión contenga funciones (o una clase) en lugar de código que se ejecuta directamente. Si ha incluido un archivo que contiene funciones, puede llamar a sus funciones con los parámetros que desee en cualquier punto de su programa. Es mucho más flexible y, en general, una mejor técnica de programación.

Espero que ayude.

Incluir con parámetros

Esto es algo que he usado en mi proyecto reciente de Wordpress

hacer una funcion functions.php:

function get_template_partial($name, $parameters) 
   // Path to templates
   $_dir = get_template_directory() . '/partials/';
   // Unless you like writing file extensions
   include( $_dir . $name . '.php' );
 

Obtener parámetros en cards-block.php:

// $parameters is within the function scope
$args = array(
    'post_type' => $parameters['query'],
    'posts_per_page' => 4
);

llamar a la plantilla index.php:

get_template_partial('cards-block', array(
    'query' => 'tf_events'
)); 

Si desea una devolución de llamada

Por ejemplo, el recuento total de publicaciones que se mostraron:

Cambio functions.php a esto:

function get_template_partial($name, $parameters) 
   // Path to templates
   $_dir = get_template_directory() . '/partials/';
   // Unless you like writing file extensions
   include( $_dir . $name . '.php' );
   return $callback; 
 

Cambio cards-block.php a esto:

// $parameters is within the function scope
$args = array(
    'post_type' => $parameters['query'],
    'posts_per_page' => 4
);
$callback = array(
    'count' => 3 // Example
);

Cambio index.php a esto:

$cardsBlock = get_template_partial('cards-block', array(
    'query' => 'tf_events'
)); 

echo 'Count: ' . $cardsBlock['count'];

Valoraciones y reseñas

Tienes la opción de añadir valor a nuestra información contribuyendo tu veteranía en las observaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *