Jetpack Infinite Scrolling para múltiples columnas en la misma página?

4

Habilitar el desplazamiento infinito es tan simple como agregar este fragmento de código al archivo functions.php del tema (donde "contenido" es el id del contenedor que envuelve las publicaciones):

add_theme_support( 'infinite-scroll', array(
    'type' => 'scroll',
    'container' => 'content',
    'footer' => false,
) );

¿Pero qué debo hacer si mi sitio web tiene un diseño de múltiples columnas donde, por ejemplo, una columna muestra las últimas publicaciones y la otra columna enumera las últimas publicaciones de una etiqueta (resaltados)? es decir, esencialmente hay dos contenedores.

Probé estos dos fragmentos (ver más abajo), y de cualquier manera, el desplazamiento infinito solo está habilitado para una columna / contenedor.

add_theme_support( 'infinite-scroll', array(
    'type' => 'scroll',
    'container' => 'content',
    'footer' => false,
) );

add_theme_support( 'infinite-scroll', array(
    'type' => 'scroll',
    'container' => 'highlights',
    'footer' => false,
) );

y

add_theme_support( 'infinite-scroll', array(
    'type' => 'click',
    'container' => array( 'content', 'highlights' ),
    'footer' => false,
) );

¿Qué estoy haciendo mal?

NOTA: Si el hecho de que la instalación de Jetpack requiera una cuenta de wordpress.com lo está frenando, intente Slim Jetpack . Incluso funciona en una instalación local de WP y no requiere una cuenta de wp.com.

    
pregunta its_me 05.02.2013 - 06:37

2 respuestas

0

En una respuesta por correo electrónico, Kris Karkoski, ingeniero de la felicidad (WordPress.com) en Automattic me dijo, "el desplazamiento infinito con varias columnas no es compatible con Jetpack en este momento."

    
respondido por el its_me 13.02.2013 - 15:30
2

He comprobado el código fuente de Slim Jetpack y esta tarea no se puede realizar sin volver a escribir ese complemento.

Aquí hay algunos consejos:

  1. Tendrá que duplicar la línea 539 de '/modules/infinity-scroll/infinity.php' indicando:

    jQuery.extend( infiniteScroll.settings.scripts, <?php echo json_encode( $scripts ); ?> );
    
  2. Tendrá que duplicar la línea 475 de '/modules/infinity-scroll/infinity.js', ya que esto inicializa el desplazamiento infinito. (¿Ves la coincidencia del nombre de la variable?)

    infiniteScroll.scroller = new Scroller( infiniteScroll.settings );
    
  3. Además, deberá ajustar el módulo para que acepte más atributos, o al menos el atributo post_type para poder determinar qué tipo de publicación debe traer para cada ciclo inifinito. Esto debe hacerse en ambos. JS y PHP (devolución de llamada para la función ajax).

Como he dicho, el complemento debería ser reescrito.

    
respondido por el david.binda 08.02.2013 - 12:15

Lea otras preguntas en las etiquetas