La función que está utilizando, wp_link_pages
Codex , no tiene la función que está buscando por defecto.
Sin embargo, puede extenderlo fácilmente utilizando una función de devolución de llamada, registrada como filtro en los argumentos de las funciones:
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
Luego, el filtro modificará los parámetros que se utilizan en esa función sobre la marcha e inyectará los enlaces que faltan en los argumentos prev
y next
que se generan en el lado izquierdo y derecho de la lista de enlaces numerados ( next_or_number' => 'number'
):
/**
* Add prev and next links to a numbered page link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args['next_or_number'] == 'next_and_number')
return $args; # exit early
$args['next_or_number'] = 'number'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args['before'] .= _wp_link_page($page-1)
. $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
;
if ($page<$numpages) # there is a next page
$args['after'] = _wp_link_page($page+1)
. $args['link_before'] . ' ' . $args['nextpagelink'] . $args['link_after'] . '</a>'
. $args['after']
;
return $args;
}
Uso:
wp_link_pages(array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'next_or_number' => 'next_and_number', # activate parameter overloading
'nextpagelink' => __('Next'),
'previouspagelink' => __('Previous'),
'pagelink' => '%',
'echo' => 1 )
);
Si su tema siempre usa los enlaces anterior y siguiente, puede cambiar un poco la función para que sea el comportamiento predeterminado siempre que number
se use (el predeterminado), por lo que debe escribir menos en sus temas.
Esta es una implementación ligeramente diferente como lo sugiere Velvet Blues .
La
wp_link_pages()
función sólo muestra ya sea texto o número, nunca ambos. Si observa el código de la función, verá que no hay opción para que se comporte de manera diferente al pasar parámetros.Dicho esto, hay tres formas de hacer esto sin un complemento:
wp_link_pages()
. Hack muy ineficiente.He escrito un artículo sobre cómo hacer esto en mi blog. Básicamente, uso el filtro wp_link_pages_args y agrego una función en el archivo functions.php que agrega una nueva opción 'next_and_number'.
Hack de WordPress: Número de pantalla y enlaces siguiente / anterior con wp_link_pages ()
fuente
Prueba esto, puedes personalizarlo más. Pero debería hacer lo que quisieras :-)
fuente
No entiendo cuál es el problema ... ¿Tienes algún error?
Esto debería funcionar:
No necesita agregar next_or_number ya que el número ya es el predeterminado.
fuente
next_or_number
anext
. Pero solo muestra los enlaces 'Siguiente' y 'Anterior', ¡no los números!Este código está en el bucle de las publicaciones? La codificación está bien para mí. Aquí está el ejemplo del Codex sobre cómo usarlo:
fuente
La respuesta es diferente, pero se inspiró en @ 荒野 无 灯 que decidió eliminar su respuesta. En mi opinión, es la mejor, como la solución más fácil y flexible:
La solución depende de
paginate_links()
. Lo único que debe saber es quebase
será la URL desde el principio, agregada por%_%
, que luego será reemplazada porformat
. Por lo tanto, siempre que lo usemosget_permalink().'%_%';
, sabemos que, en cualquier caso, permaneceremos en la publicación actual. Enformat
el interior ,#
se reemplaza por el número de página:fuente