Transmiterea argumentelor personalizate în paginate_links
De exemplu, am domain.com/about?project=1
dar am permalink-uri activate și folosesc asta pentru a genera paginarea paginate_links. Problema este că linkurile generate arată astfel domain.com/about?project=1/page/1
și strică totul deoarece proiectul este interpretat ca 1/page/1
.
Există o modalitate de a obține domain.com/about/project/1/page/1
în linkurile de paginare? Trimite aceste date dintr-un formular folosind metoda GET pentru a afișa proiectul.

Pentru a adăuga argumente la linkurile din paginarea postărilor, folosește argumentul 'add_args'
în funcție. Trebuie să transmiți argumentele ca un array asociativ. Deci, pentru a adăuga project=1
la sfârșitul tuturor linkurilor tale, ai face asta:
global $wp_query;
paginate_links(array(
'total' => $wp_query->max_num_pages,
'current' => (get_query_var('paged') ? get_query_var('paged') : 1),
'base' => 'http://domain.com/about/%_%',
'format' => 'page/%#%',
'add_args' => array( 'project' => 1 /* sau orice alt număr de proiect este*/ ),
));
Sper că te-a ajutat!
EDITARE
Pentru a obține domain.com/about/projects/1/page/1
, poți adăuga o structură personalizată de permalink. Presupun că about
este o pagină.
function wpse21802_init(){
add_rewrite_rule( '([^/]+)/projects/([^/])/?$', 'index.php?pagename=$matches[1]&project=$matches[2]', 'top' );
add_rewrite_rule( '([^/]+)/projects/([^/])/page/(/d+)/?$', 'index.php?pagename=$matches[1]&project=$matches[2]&paged=$matches[3]', 'top' );
}
add_action( 'init', 'wpse21802_init' );
După adăugarea acestui cod, actualizează regulile de rescriere mergând la Setări -> Legături permanente.

Dar asta generează http://domain.com/about/page/1?project=1

"Trim asta dintr-un formular folosind get pentru a afișa proiectul." Project este o variabilă $_GET
în acel link, nu? 'add_args' => array( 'project' => absint($_GET['project'])

Da, dar din nou citește întrebarea principală: Există vreo metodă de a obține domain.com/about/project/1/page/1 în link-urile de paginare? Trim asta dintr-un formular folosind get pentru a afișa proiectul.

Am actualizat răspunsul meu, dar aș dori să subliniez că WordPress suportă deja acea structură URL doar prin utilizarea ierarhiei paginilor.
