无限滚动启用(wordpress)

时间:2015-08-12 05:13:52

标签: php jquery wordpress

所以,我发现本教程启用无限滚动:http://wptheming.com/2012/03/infinite-scroll-to-wordpress-theme/

基本上我需要有js文件并将以下内容添加到function.php

/**
 * Infinite Scroll
 */
function custom_infinite_scroll_js() {
    if( ! is_singular() ) { ?>
    <script>
    var infinite_scroll = {
         loading: {
            img: "<?php echo get_template_directory_uri(); ?>/images/ajax-loader.gif",
            msgText: "<?php _e( 'Loading the next set of posts...', 'custom' ); ?>",
            finishedMsg: "<?php _e( 'All posts loaded.', 'custom' ); ?>"
        },
        "nextSelector":"#nav-below .nav-previous a",
        "navSelector":"#nav-below",
        "itemSelector":"article",
        "contentSelector":"#content"
    };
    jQuery( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll   );
    </script>
    <?php
    }
}
add_action( 'wp_footer', 'custom_infinite_scroll_js',100 );

我需要更改以下参数:

  • img:ajax loader image的路径
  • nextSelector:“之前帖子”链接的选择器。
  • navSelector:包含上一个/下一个导航链接的选择器。
  • itemSelector:帖子的选择器。这可能是.hentry,.post,.etc
  • contentSelector:包含帖子的div。

好吧,我被困住了。

这是我的php:

$defaults = array(
        'base' => add_query_arg( 'paged', '%#%' ),
        'format' => '',
        'total' => $max_num_pages,
        'current' => $current,
        'prev_next' => true,
        'prev_text' => __( '&larr;',my_site),
        'next_text' => __( '&rarr;',my_site), 
        'show_all' => false,
        'end_size' => 1,
        'mid_size' => 1,
        'add_fragment' => '',
        'type' => 'plain',
        'before' => '<div class="pagination">', 
        'after' => '</div>',
        'echo' => true,
        'use_search_permastruct' => true
  );

这是我目前得到的html输出:

 <div class="pagination">
    <a class="prev page-numbers" href="example.com/dfgdg/page/2/">←</a>
    <a class="page-numbers" href="http://example.com/dfgdg/page/1/">1</a>
    <a class="page-numbers" href="http://example.com/dfgdg/page/2/">2</a>
    <span class="page-numbers current">3</span>
    <a class="page-numbers" href="http://example.com/dfgdg/page/4/">4</a>
    <span class="page-numbers dots">…</span>
    <a class="page-numbers" href="example.com/dfgdg/page/20/">20</a>
    <a class="next page-numbers" href="example.com/dfgdg/page/4/">→</a>
</div>

有人可以帮我解决一下如何修改它吗?

我应该考虑采用不同的方法吗?

谢谢!!!

EM

1 个答案:

答案 0 :(得分:1)

基本上这里出现的问题是你在不理解底层代码的情况下复制粘贴。

在您添加到PHP的JS片段中,您将添加无限滚动应该起作用的元素(contentSelector)

在示例中,它设置为“#content”,但在您的代码中应该是“.pagination”。

因此,如果您更改contentSelector,它应该可以工作:)

编辑: 我建议您将php中的“before”更改为id =“pagination”。这可能会破坏您的模板,因此请务必使用不同的页面对其进行测试,但这样您就可以选择id而不是更可靠,更快的类