¿Cómo puedo recuperar la URL actual (ya sea página de inicio, archivo, archivo de tipo de publicación, archivo de categoría, etc.) pero siempre sin la /page/{pagenum}/
parte si está presente? Entonces, si la URL real es:
example.com/category/uncategorized/
O
example.com/category/uncategorized/page/2/
entonces el valor de retorno siempre será
example.com/category/uncategorized/
permalinks
pagination
urls
Ihor Vorotnov
fuente
fuente
La respuesta de Govind Kumar funcionó, sin embargo, solo devolvió la URL si / page / {pagenum} / estaba presente en la URL y no devolvió nada si no. Necesitaba una solución universal que siempre devolviera la URL base sin paginación, así que modifiqué un poco el código de Govind y lo incluí en una función:
Ahora, siempre devuelve la URL correcta.
( Esto es útil si necesita implementar algún tipo de filtro de publicación que agregue un parámetro para filtrar publicaciones por, digamos, un metaarchivo. Por lo tanto, incluso si un usuario establece el parámetro de filtro en la página X, los nuevos resultados filtrados siempre comience desde la URL base, no desde la página X y arroje 404 si hay menos publicaciones filtradas ) .
fuente
/page
subcadena sea parte del nombre de dominio (si www no se usa, por supuesto). Eso es, en mi opinión, más bien un caso extremo. Sin embargo, le recomiendo que contribuya agregando código que también cubra este caso.En realidad, lo más fácil sería usar el
get_pagenum_link()
que le devolverá la URL actual sin ningún/page/*
parámetro.Prima
También puede usarlo simplemente para crear dinámicamente enlaces "Anterior" y "Siguiente" utilizando la
'paged'
variable de consulta:fuente
Mis detalles eran muy similares a los de Ihor Vorotnov, excepto que tenía más de un parámetro. Entonces, a partir de su respuesta, modifiqué el código para usar una expresión regular:
fuente
Si desea eliminar todas las combinaciones de paginación posibles , utilice este fragmento:
Se encargará de
y no distingue entre mayúsculas y minúsculas, funciona para cualquier número de página de paginación y también eliminará cualquier combinación de número / número / número final ... (pruebas aquí: https://regex101.com/r/9fQaLC/1 )
Si desea obtener la URL completa con los principales http (s) simplemente agregue
En esa línea también puede agregar cualquier parámetro GET personalizado como tal
fuente
Mientras que esta pregunta ya fue contestada aquí (no aceptado), este fragmento debe hacer el truco:
home_url(add_query_arg(NULL, NULL));
.fuente
page/{pagenum}
.fuente