¿Por qué necesita un número entero improbable en la paginación?

15

La paginate_links referencia de función del Codex tiene algún código de ejemplo que se está reenviando en toda la red.

Tiene una sección que usa una variable llamada $big = 999999999; // need an unlikely integer :

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages
) );

Y se usa en str_replace en la función echo paginate_links .

¿Esto es alguna forma de encapsulación?

    
pregunta Jason Green 10.05.2013 - 18:04

1 respuesta

16

Tenga en cuenta el get_pagenum_link( $big ) : esto creará una URL ( no un enlace) en función del número proporcionado en el primer parámetro.

Esa función se usa para obtener el patrón básico de la URL, y el entero alto se usa aquí, porque:

  1. Debe proporcionar un entero como argumento.
  2. La URL resultante se filtra con apply_filters('get_pagenum_link', $result) y puede cambiarse mediante complementos. Este riesgo es ligeramente mayor para los números que coinciden con las páginas existentes, , por ejemplo, cuando un complemento implementa títulos separados para las subpáginas.

Así que esto es solo una ... convención sucia, una señal a otros complementos: ¡No cambies eso por favor! Creo que PHP_INT_MAX hubiera sido mejor, pero aún así feo. Y me pregunto cuántos desarrolladores de complementos saben que.

El número se reemplaza con el marcador de posición necesario en paginate_links() .

Lo que ves aquí es una API incompleta . Trate de aprender algo de este ejemplo: no libere API incompletas, o sus documentos se verán embarazosos. :)

    
respondido por el fuxia 10.05.2013 - 18:31

Lea otras preguntas en las etiquetas