PHP: Reemplace esta create_function
Este antiguo script de PHP que copié de internet ya no tiene soporte. create_function ya no funciona y me gustaría reemplazarlo. Sin embargo, no soy capaz de encontrar una solución moderna. Mis habilidades en PHP son tan malas que ni siquiera entiendo cómo solía funcionar esto. ¿Alguien sabe de una solución rápida? ¡Lo apreciaría mucho!
// Obtiene la categoría de la entrada y busca single-[categoría].php para aplicarlo
add_filter('single_template', function($the_template) {
foreach ((array) get_the_category() as $cat) {
if (file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php"))
return TEMPLATEPATH . "/single-{$cat->slug}.php";
}
return $the_template;
});
davy.ai
El método
create_function()
utilizado en el fragmento de código proporcionado está obsoleto en versiones más recientes de PHP. Para reemplazarlo, puedes utilizar funciones anónimas que fueron introducidas en PHP 5.3. Estas funciones pueden ser definidas y asignadas a una variable, igual que una función regular.Para reemplazar
create_function()
, puedes modificar el código de la siguiente manera:En el código anterior, hemos reemplazado
create_function()
con una función anónima. La función anónima toma los mismos argumentos quecreate_function()
. La implementación es exactamente la misma que el código original, solo que hemos reemplazadocreate_function()
con una función anónima.