Contenido

Crea plugins para WordPress en una sola línea

30 jul

+ 1

Hoy Mark on WordPress, publicaba un ejemplo de plugin de una sola línea, con el que hacemos que el panel de planificación de publicación aparezca desplegado por defecto.

add_action('admin_head',create_function('$a', "echo \"<script
type='text/javascript'>\n<!--\naddLoadEvent(function(){if(jQuery('.edit-timestamp')){jQuery('.edit-timestamp').click();}});\n//-->\n</script>\";"),50);

Como vemos la magia de este sistema es gracias a la función create_function(), con la que podemos crear funciones usandolas como parámetro de la función add_action() o add_filter(), funciones que nos permiten añadir funcionalidades a WordPress.

create_function()

create_function(String $args, String $codigo);

Con create_function() generamos funciones y la función nos devuelve el nombre de la función con la funcionalidad que le pasemos como parámetro $codigo, para los parámetros usaremos el primer parámetro de la función.


//Sin create_function()
function func($str) {
     return str_replace("_", "-", $str);
}
//Con create_function()
$func = create_function('$param', 'return str_replace("_", "-", $str);');

Esto me recuerda mucho a la posibilidad de declarar variables como funciones.

// Javascript 
var myFunc = function(str) {alert(str);
// PHP
$myFunc = create_func('$str', 'echo $str');

Intentemos convertir en una línea el hack para evitar buscar en las páginas de tu WordPress.

add_filter('query_vars', create_function('$vars', 'array_push($vars); return $vars;'));

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.