php - resolución de url de WordPress de subpáginas desde plugin
wordpress login url (3)
Hago algo muy similar a lo que describes usando una regla mod_rewrite personalizada. Siguiendo su ejemplo, tengo una página Foo que usa la plantilla foo.php. La plantilla foo.php acepta una variable de consulta, digamos "ruta", que define el resto de la URL. En mi archivo .htaccess, tengo la siguiente regla (¡tenga cuidado de ponerlo fuera de las reglas generadas automáticamente por WordPress!):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^foo/(.+) /foo/?path=$1 [L]
</IfModule>
Su complemento también puede necesitar deshabilitar el complemento "redirect_canonical", que puede interceptar sus URL inesperadamente.
remove_action(''template_redirect'', ''redirect_canonical'');
Creo que también es posible hacer algo similar utilizando el hook template_redirect y la clase WP_Rewrite , pero no lo he probado yo mismo.
Digamos que tengo una página "foo" en wordpress, de modo que http: /www.blah.com/foo lo menciona.
Supongamos que esta página tiene un activador dentro de su contenido, como <! - foo -!>, Que mi complemento está siguiendo a través del filtro add_filter (''the_content'', ..). Entonces, todas las llamadas a http: www.blah.com/foo y http://www.blah.com/foo?var=bar son recogidas por el complemento y tratadas.
Ahora hay una manera en que el complemento podría permitir que Wordpress sepa que quiere manejar todas las URL del tipo http://www.blah.com/foo/bar http://www.blah.com/foo/bar/ morefoo, etc. "sin" tener que crear páginas / subpáginas para cada una de estas, ya que estas URL se crearían dinámicamente.
Además, de todos modos hay además de usar el filtro add_content en the_content dentro de una página que uno puede tomar el control desde un plugin idealmente codificado en la url para que todas las llamadas a http://www.blah.com/foo sean manejadas por el plugin.
Respondiendo a mi propio q:
Los punteros en las respuestas anteriores fueron útiles y me pusieron en el camino correcto, pero seguí encontrando un inconveniente en que cada vez que se invocaba la url en cuestión seguía llamando a index.php.
Luego me encontré con http://mikeschinkel.com/blog/restful-web-services-in-wordpress-plugin/, donde accede a una explicación y proporciona una respuesta que requiere una acción template_redirect para garantizar que el control esté donde lo desee. .
Sí, puede tomar referencias de URL (consultas aka) y analizarlas, sin crear subpáginas.
La secuencia de eventos se describe en la página Descripción general de la consulta . Desea ver enganchándose en la acción parse_request
en particular.