Я создал файл search.php, который перебирает содержимое с помощью простого цикла wordpress.
Я также добавил ссылки с разбивкой по страницам в конце цикла.
URL-адрес следующей страницы выглядит примерно так.
http://example.com/page/2/?s=search
Я использую следующий код для создания ссылок на страницы:
function pagination() { if( is_singular() ) return; // Don't print empty markup if there's only one page. if ( $GLOBALS['wp_query']->max_num_pages < 2 ) { return; } $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1; $pagenum_link = html_entity_decode( get_pagenum_link() ); $query_args = array(); $url_parts = explode( '?', $pagenum_link ); if ( isset( $url_parts[1] ) ) { wp_parse_str( $url_parts[1], $query_args ); } $pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link ); $pagenum_link = trailingslashit( $pagenum_link ) . '%_%'; $format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : ''; $format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%'; // Set up paginated links. $links = paginate_links( array( 'base' => $pagenum_link, 'format' => $format, 'total' => $GLOBALS['wp_query']->max_num_pages, 'current' => $paged, 'mid_size' => 3, 'add_args' => array_map( 'urlencode', $query_args ), 'prev_text' => __( '<i class="fa fa-chevron-right"></i> before', '' ), 'next_text' => __( 'next <i class="fa fa-chevron-left"></i> ', '' ), 'type' => 'array', ) ); if( is_array( $links ) ) { $pagination = '<ul class="pagination">'; $pagination .= "<li><a href='".esc_url( get_pagenum_link( 1 ) )."' class='eb-pager__fast-first-link'><i class='fa fa-fast-forward'></i></a></li>"; foreach ( $links as $page_key => $page) { $pagination .= "<li>$page</li>"; } $pagination .= "<li><a href='".esc_url( get_pagenum_link( $GLOBALS['wp_query']->max_num_pages ) )."' class='eb-pager__fast-first-link'><i class='fa fa-fast-backward'></i></a></li>"; $pagination .= '</ul>'; return $pagination; } return false; }
Я с нетерпением жду ваших добрых ответов.