Я пытаюсь для того чтобы достигнуть: Включить бесшовные & одновременно бесконечный скроллинг для нескольких столбцов на одной и той же странице, каждый из которых тянет в другой набор содержимого, т. е. один столбец показывает последние сообщения, а другой - последние сообщения от конкретных тегов.Изменить WordPress Jetpack плагин использовать «Класс» вместо «ID» Атрибут
Каждый столбец использует другой цикл, так что они никогда не беспорядок друг с другом, и это код, который я уже используется (только, чтобы дать вам представление о том, как я это делаю):
файла: index.php (code also on pastebin)
<?php
/**
* The main template file.
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
* Learn more: http://codex.wordpress.org/Template_Hierarchy
*
* @package Twenty Twelve
* @since Twenty Twelve 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<section id="content" class="site-content" role="main">
<?php if (have_posts()) : ?>
<?php //twentytwelve_content_nav('nav-above'); ?>
<?php /* Start the Loop */ ?>
<?php while (have_posts()) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class('clearfix content-articles'); ?>>
<a class="archives-thumb-link" href="<?php the_permalink(); ?>" title="<?php echo esc_attr(sprintf(__('Permalink to %s', 'twentytwelve'), the_title_attribute('echo=0'))); ?>" rel="bookmark"><?php the_post_thumbnail('archives-thumb'); ?></a>
<div class="entry-text-wrapper">
<header class="entry-header">
<h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr(sprintf(__('Permalink to %s', 'twentytwelve'), the_title_attribute('echo=0'))); ?>" rel="bookmark"><?php the_title(); ?></a></h1>
</header><!-- .entry-header -->
</div>
</article><!-- #post-<?php the_ID(); ?> -->
<?php endwhile; ?>
<?php twentytwelve_content_nav('nav-below'); ?>
<?php else : ?>
<?php get_template_part('no-results', 'index'); ?>
<?php endif; ?>
</section><!-- #content .site-content -->
<section id="highlights-container" class="site-content">
<?php $latest_highlights = new WP_Query('tag=highlights&showposts=20&paged=' . $paged); ?>
<?php if ($latest_highlights->have_posts()) : ?>
<?php while ($latest_highlights->have_posts()) : $latest_highlights->the_post(); $the_highlights_counter++; ?>
<article id="highlights-<?php echo $the_highlights_counter; ?>" class="highlights-wrapper">
<a class="highlights-link" href="<?php the_permalink(); ?>" title="<?php echo esc_attr(sprintf(__('Permalink to %s', 'twentytwelve'), the_title_attribute('echo=0'))); ?>" rel="bookmark">
<?php the_post_thumbnail('highlights-thumb'); ?>
<h1 class="highlights-title"><?php the_title(); ?> <span>/ <?php echo the_time('M. n'); ?></span></h1>
</a>
</article>
<?php endwhile; ?>
<?php else : ?>
<?php get_template_part('no-results', 'index'); ?>
<?php endif; ?>
</section><!-- #content .site-content -->
</div><!-- #primary .content-area -->
<?php get_footer(); ?>
Как я планирую сделать это: модуль 'Infinite Scroll' в Jetpack представляет собой лишь два файла - infinity.php и infinity.js, поэтому для тех, кто знает JavaScript и PHP, было бы немного легче изучить.
Теперь дело в том, что as stated here, чтобы включить бесконечную прокрутку, мы должны сначала предоставить ему «Идентификатор HTML-элемента, на который Infinite Scroll должен добавлять дополнительные сообщения». И поскольку он не принимает несколько идентификаторов, невозможно включить одновременную бесконечную прокрутку по нескольким столбцам на одной странице.
Идея: Так, может быть, если бы я изменить его, чтобы принять class
вместо атрибута id
, я могу получить бесконечную прокрутку на несколько столбцов работать.
Вопрос, как мне это сделать?
Стараясь изо всех сил, чтобы решить эту проблему сам (который я не мог), вот некоторые важные биты я попадались, которые я think'd сделать его более легким для вас, чтобы помочь.
В [infinity.php][5]
'container' => 'content'
говорит, чтоcontent
это идентификатор по умолчанию для элемента контейнера.'id' => self::get_settings()->container,
определяетid
для звонка в JavaScript.
В [infinity.js][6]
var id = $(this).attr('id'),
убеждается, что что этоid
атрибут и НЕclass
.
Поскольку я не знаю JS и достаточно PHP, возможно, я пропустил много других важных бит. Просто подумал, что эта информация поможет тем, кто пытается помочь.
Дайте мне знать, если я не ясно.
ПРИМЕЧАНИЕ: Если вы запускаете тест/Dev WordPress сайт где-нибудь, и хотел бы помочь, пожалуйста, установите Slim Jetpack плагин (версия Jetpack plugin, что не требует подключения к WordPress. com) и включите модуль «Бесконечный прокрутки» из меню «Jetpack». Дальнейшие инструкции можно найти here.
Не можете ли вы просто вызвать функцию инициализации два раза, по одному для каждого идентификатора? – mornaner
@mornaner, на какую функцию вы ссылаетесь? можете ли вы быть более ясными? –
В разделе «Примеры» на странице документации, которую вы указали: 'function twenty_twelve_infinite_scroll_init()' – mornaner