Esto es lo que tuve que hacer para que WP tome http://localhost/test/nombre/daniel/ es decir, “daniel”, el valor para “nombre”.
En functions.php del theme activo:
/*
Adaptado del ejemplo "A Quick and dirty example for rewriting http://mysite/project/1 into http://mysite/index.php?pagename=project&id=1"
de http://codex.wordpress.org/Function_Reference/WP_Rewrite
Por HighToro - 2009-12-01.
Este codigo debe colocarse en el archivo functions.php del theme activo.
Si todo funciona correctamente, se debería crear un registro "_transient_rewrite_rules" en la tabla (el_sitio)_options que comience asi:
a:636:{s:11:"nombre/(.+)";s:44:"index.php?pagename=nombre&nombre=$matches[1]";s:12:"robots\.txt$"; ...
*/
add_filter('rewrite_rules_array','wp_insertMyRewriteRules');
add_filter('query_vars','wp_insertMyRewriteQueryVars');
add_filter('init','flushRules');
// Remember to flush_rules() when adding rules
function flushRules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
// Adding a new rule
function wp_insertMyRewriteRules($rules) {
$newrules = array();
$newrules['nombre/(.+)'] = 'index.php?pagename=nombre&nombre=$matches[1]';
return $newrules + $rules;
}
// Adding the id var so that WP recognizes it
function wp_insertMyRewriteQueryVars($vars) {
array_push($vars, 'nombre');
return $vars;
}
Luego, en el archivo nombre.php del theme pondremos este template:
/*
Template Name: Buscador de nombre
Por HighToro - 2009-12-01.
*/
// Codigo para agregar al inicio del nombre.php (del theme activo), antes de la llamada get_header();
global $wp_query, $wp_rewrite;
$nombre_solicitado = '';
if ($wp_rewrite->using_permalinks()) { // WordPress using Pretty Permalink structure
$nombre_solicitado = $wp_query->query_vars['nombre'];
} else { // WordPress using default pwrmalink structure like www.site.com/wordpress/?p=123
$nombre_solicitado = (isset($_GET['nombre'])) ? htmlspecialchars($_GET['nombre']) : '';
}
// Y luego el header y todo el templateo de siempre de WP.
get_header();
// ... (Mucho codigo PHP y HTML mezclados)...
get_footer();
Al ser un template (o “plantilla“), debe ser llamado desde una página. En el caso de nuestro ejemplo, a esta página la llamaremos “nombre” y debería quedar así: http://localhost/test/nombre/ colgando del raíz.
Espero que a alguien le sirva, pues en la web no está ni “todo junto” ni muy claro. Acá lo tienen andando luego de que lo hiciera, rompiera y corrigiera. Lo probé en un entorno limpio y anduvo ok.
]]>
Siendo uno programador -que intenta respetar estándares de codificación en lo posible- es interesante ver la variedad de estilos, espaciados, costumbres y rarezas en el código ajeno.
Más raro y complejo aún es hacer un plugin para WordPress, pues hay que atenerse a las convenciones de éste además de la base de PHP.
Mañana tengo que hacer un plugin. Que lindo. Iupiiiiii. Me gusta eso.
Eclipse PDT (PHP Development Tools) es un IDE (Integrated Development Environment -> entorno de desarrollo integrado) fabuloso para programadores PHP. Un editor pesado, como Dreamweaver; pero no para hacer tablitas dibujando sino para programar.
/**
* example of basic @param usage
* @param bool $baz
* @return mixed
*/
A su nivel está NetBeans IDE 6.7; lo probé poco así que no voy a hacer comentarios. Aparenta ser su equivalente, por lo que vengo leyendo en foros y grupos de LinkedIn. 26 Mb.
Finalmente, y para no dejar a los editores livianos a un costado, cabe destacar que UltraEdit v15.10 (comercial, con versión de prueba) es piola para ediciones veloces ya que no pesa tanto como un IDE y tiene autocompletado, coloreado, y muchas de las virtudes de sus hermanos mayores.
Y mi liviano favorito, el que tengo asignado a la tecla F4 (editar) en mi Total Commander: PSPad 4.5.4 , el más liviano de todos con colores y cositas y hasta edición de archivos por FTP como su hermano comercial UltraEdit.
Nota posterior
La gente de Zend se compara con PDT y le sacude de lo lindo: Zend Studio 7.0 vs. PDT
Zend Studio is built on top of the Eclipse PDT (PHP Development Tools) project. A professional-grade IDE, Zend Studio provides many benefits over PDT, including faster development, faster problem resolution, comprehensive technical support and ongoing updates.
Hay una tabla larga de “features” en la que por supuesto gana casi todos los partidos Zend.
]]>
Para desarrolladores web: hiper recomendadísimo el Html Validator, plugin para Firefox de Marc Gueury. Una excelente papita que me pasó hace tiempo ya el maestro Daniel Faure.
Te canta directamente apenas terminada de cargar la página web si es HTML-válida o no en la barra de estado de abajo. Al posar el mouse sobre el símbolo del resultado (verde redondo con símbolo de chequeado = ok = no hay errores, amarillo triangular con exclamación = warnings = errores no-horrorosos, rojo redondo con equis = critical-errors = sos un caballo, cazá el manual de HTML por lo que más quieras).
Bueno, lo cierto es que en ningún caso es necesario cazar el manual de HTML, el soft al hacer click sobre el símbolo nos informa detalladamente dentro del mismo código HTML en donde está el error, en que línea, (alguna cosa sin cerrar, otra cosa que no debía estar ahí, algún símbolo de cierre que no se abrió nunca, abriste con <h2> y cerraste con <h4>, etc.).
Más que práctico, fundamental.
Estos paquetes traen Apache como servidor, PHP como lenguaje de script y MySQL como base de datos; sumado a algunas aplicaciones útiles como phpMyAdmin para crear/editar/borrar bases y tablas, exportar y sarandear datos como convenga más que cómodamente para un editor web.
Durante años usé para programar como LAMP (bajo Güindous) al popular XAMPP, pensando que era el mejor, el único, el más pulenta; y en una oportunidad en que algo no me funcionó con el entorno XAMPP me decidí a
darle una oportunidad a WAMP, bicho LAMP que estoy usando desde hace algunos meses con placer.
Casi es lo mismo, un pequeño cambio, para mejor. Para empezar, arranca (sin molestar) todos los servicios, cosa que con XAMPP era un poco más fastidioso al no tenerlo en modo “arrancar los servicios al iniciar Windoze”, que yo prefería evitar.
De Wikipedia

El acrónimo LAMP se refiere a un conjunto de subsistemas software necesarios para alcanzar una solución global, en este caso configurar sitios web o Servidores dinámicos con un esfuerzo reducido.
En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías: