Query_vars wordpress

Wp get all query vars

Contents

Muy a menudo, encuentro en los temas consultas personalizadas para personalizar el contenido mostrado en una página.  Estos temas utilizan ‘query_posts’ o ‘WP_Query’ para conseguirlo. Por ejemplo, el código de abajo permite excluir los posts de algunas categorías de la página de inicio.

Sin embargo, en el caso de un sitio web multilingüe, la consulta contiene una nueva consulta var ‘lang’ para permitir filtrar el contenido por idioma. Y la consulta personalizada anterior no contiene la consulta var ‘lang’, por lo que el código anterior no funcionará bien en sitios web multilingües.

WordPress $_get

La API de reescritura para WordPress es una característica importante de la que probablemente no lea mucho, pero que sin duda está utilizando sin darse cuenta. La API proporciona la funcionalidad para crear sus propios enlaces únicos – permalinks – para su sitio web.

En este tutorial, explicaré los enlaces permanentes en profundidad: qué son, por qué son permanentes, sus posibles estructuras y cómo puedes reescribirlos de forma que sean inteligibles tanto para los humanos como para las máquinas. También explicaré algunos conceptos clave detrás de los enlaces permanentes en WordPress, primero viendo cómo añadir variables a las URLs no optimizadas y cómo usar estas variables y sus valores para consultar tu base de datos. Más tarde, exploraremos la reescritura de URLs y cómo construir la mejor estructura para los enlaces permanentes bonitos.

Las URLs son el vehículo utilizado para enviar peticiones HTTP GET a través de la web. Más precisamente, el método GET envía pares clave=valor dentro de una URL para obtener una respuesta de un recurso específico (lea más sobre este tema en W3Schools).

El signo de interrogación divide esta URL en dos partes. La primera parte es el nombre del dominio, la segunda es la cadena de consulta, que es un conjunto de variables y valores de consulta que determinan el recurso solicitado por el usuario. La cadena de consulta identifica el recurso, pero no nos dice nada sobre su contenido. Podemos decir que no tiene sentido semántico para los humanos y las máquinas.

El filtro Query_vars no funciona

Después de que el sitio web está en marcha, me encontré con que hay una «categoría» en la URL, que me sentía bastante incómodo y trató de todas las modificaciones disponibles para eliminar esta palabra. Combinado con los tutoriales compartidos por amigos en Internet y mis resúmenes personales, los métodos para eliminar «categoría» no pueden ir alrededor de los cuatro eficaces, a saber, el uso de los plug-ins, la implementación de código, la modificación de la función y la modificación de enlace fijo.

I. Uso de plug-ins Si no posee buenas habilidades de codificación y le preocupa la «categoría» en la URL, le recomendamos que utilice plug-ins. Puede buscar directamente el plugin deseado en el fondo de WordPress e instalarlo. A continuación, actualice el sitio web y verá que la «categoría» en la URL se ha eliminado sin problemas.

No hay padres de la categoría: El autor es Milardovich. La versión actualizada del plugin anterior no sólo puede eliminar el prefijo categoría antes del enlace de la categoría, sino también eliminar la categoría padre. Por ejemplo, puede cambiar el «/categoría/categoría-padre/mi-categoría/» a la forma de «/mi-categoría/».

Consulta de filtro de WordPress

¿Cómo utilizar este código? Los siguientes fragmentos de código tienen que ser copiados y pegados en el archivo functions.php de un tema hijo.  La forma pre_get_postsEsta es la forma más fácil y recomendada para alterar la consulta principal. Este gancho ‘pre_get_posts’ se llama después de crear el objeto variable de consulta, pero antes de ejecutar la consulta real.add_action(‘pre_get_posts’,’alter_query’);

}  La forma query_posts() query_posts() está pensada para alterar el bucle principal. Lo hace sustituyendo la consulta utilizada para generar el contenido del bucle principal. Una vez que utilice query_posts(), sus variables globales y etiquetas de plantilla relacionadas con el puesto serán alteradas. Las etiquetas condicionales que son llamadas después de llamar a query_posts() también serán alteradas – esto puede o no ser el resultado deseado.Incluso si esta no es la mejor manera de alterar la consulta, esta técnica muestra cómo hacer uso de algunos ganchos interesantes antes y después del bucle en el tema Customizr.//Estos ganchos se encuentran en la plantilla index.php del tema Customizr

Todo este tema de query_posts() está bien explicado por Andrew Nacin (desarrollador del núcleo de WP), aquí :http://wordpress.tv/2013/03/15/andrew-nacin-wp_query-wordpress-in-depth/ La forma de los filtros de sentencias SQLPor último, pero no menos importante, esta es una técnica más avanzada que ofrece más flexibilidad si necesitas hacer consultas complejas. Por ejemplo, esta técnica es la mejor manera de construir una consulta que compara las fechas de los campos personalizados. (Pronto daré un ejemplo de este enfoque)En este ejemplo, filtramos las sentencias sql where y orderby. La sentencia join no necesita ser modificada aquí. add_filter( ‘posts_where’ , ‘posts_where_statement’ );