¿Cómo crear la paginación alfabética con gama?

Actualmente, estoy tratando de crear una paginación alfabética con las gamas para un tipo de mensaje personalizado en un campo personalizado mediante this code de kathy es impresionante. He conseguido todo excepto el aspecto gama. Como A E, F H y así sucesivamente.

Cualquier ayuda sería genial. Gracias..



Solución

Si usted ha usado that código, ahora tienes una taxonomía personalizada denominada 'Glosario', lo que necesita Mostrar la gama es una consulta personalizada como
new WP_Query( array(
  'tax_query' => array(
     array(
       'taxonomy' => 'glossary',
       'field' => 'slug',
       'terms' => range('a', 'e')
     )
   )
) );
¿El problema es cómo realizar esta consulta con una dirección url? Usted puede hacer uso de un endpoint, algo así como
add_action('init', 'add_glossary_range_endpoint');

function add_glossary_range_endpoint() {
    add_rewrite_endpoint( 'letters', EP_ROOT );
}
Hacerlo, cuando visite el enlace
http://example.com/letters/a-e/
una variable 'cartas' se agrega a la consulta y puede interceptarlo y utilizar para su alcance usando pre_get_posts gancho
pre_get_posts
Ahora tienes que visitar la configuración > Permalinks página sobre su backend y guardar los cambios para ras reescribir las reglas y entonces habrá terminado. Ahora probablemente tienes que crear un fucntion para mostrar el enlace a las páginas de la gama, algo así como:
add_action('pre_get_posts', 'glossary_range_query');

function glossary_range_query( $query ) {
  if ( ! is_admin() && $query->is_main_query() && $query->get('letters') ) {
     $letters = explode('-', $query->get('letters') );
     if ( count($letters) == 2 ) {
        $tax_query = array(
          'taxonomy' => 'glossary',
          'field' => 'slug',
          'terms' => range($letters[0], $letters[1])
        );
        $query->set('tax_query', array($tax_query) );    
        $query->set('letters', NULL );     
     }
  }
}
add_action('pre_get_posts', 'glossary_range_query');

function glossary_range_query( $query ) {
  if ( ! is_admin() && $query->is_main_query() && $query->get('letters') ) {
     $letters = explode('-', $query->get('letters') );
     if ( count($letters) == 2 ) {
        $tax_query = array(
          'taxonomy' => 'glossary',
          'field' => 'slug',
          'terms' => range($letters[0], $letters[1])
        );
        $query->set('tax_query', array($tax_query) );    
        $query->set('letters', NULL );     
     }
  }
}
.




Problemas relacionados

Búsqueda alfabética

Permitiendo que registra en los usuarios para crear mensajes personalizados

¿Cómo construido en widgets con número en gama como clase de salida?

Paginación ligarse a primera página

¿Cómo utilizo WP_Query para conseguir una gama de posts con los campos personalizados que tienen números con letras en ellos?

Paginación de comentarios como una lista desordenada

¿Cómo arreglar la paginación para bucles personalizados?

Paginación personalizada Wordpress

Permiten una cantidad variable de comentarios antes de la paginación

Cómo aplicar la paginación en el post

¿Cómo puedo lista el mismo producto como una variación y también como un simple producto de WooCommerce

Logro de paginación con 'query_posts'

Source: Stack Exchange Inc; License: cc by-sa 3.0 Contacto / Contact