現在運営しているWordpressのサイトにて無限スクロールを実装しています
先日、エントリーカード(トップページの記事カード)毎に全体をリンクにして、エントリーカードのどこをクリックしても記事ページに推移できるスクリプトを作成し実装していました。
しかし、無限スクロール機能にてスクロール時にエントリーカードをロードすると、それ以降ロードするエントリーカードに上記のスクリプトが反映されていません。
実行したいスクリプト
(function($) { $(function() { //.entry自体にはリンクがないのでカーソルを変えるスタイルを適用 $("#list").find(".entry").each(function() { $(this).addClass("addStyle-link"); }); //タイトルのリンクからリンクを拾ってクリックしたらそこに移動 $("#list").find(".entry").on("click", function(e) { if (e.target.parentNode !== $("span.category").get(0)) { e.preventDefault(); var href = $(this).find(".entry-title-link").attr("href"); //console.log($(e.target)); location.href = href; } }); }); })(jQuery);
CSS
.addStyle-link { cursor: pointer; } .addStyle-link:hover { background-color:#ddd !important; }
無限スクロールはjetpackの機能を使用しておりfunctions.phpに下記のソースを挿入しています。
## Add theme support for infinity scroll function simplicity_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( 'container' => 'list', 'render' => 'simplicity_infinite_scroll_render', 'footer' => 'wrapper' ) ); } ## Set the code to be rendered on for calling posts, hooked to template parts when possible.?Note: must define a loop. function simplicity_infinite_scroll_render() { get_template_part( 'list' ); } add_action( 'after_setup_theme', 'simplicity_infinite_scroll_init' );
もう一つ質問したいことがあります
私のサイトで無限スクロールを実装したあとに指摘されたことなのですが、下記のページのようにパンくずリストとカテゴリがロードするたびに表示されてしまいます。
http://fwww7.com/category/windows/page/2/
下記のコードを試したり、無限スクロール対象の外側に設置してもうまくいきませんでした
<?php if(is_home() && !is_paged()): ?> 最初のページにのみ表示したい部分をここに記載 <?php endif; ?>
わかる方どうかごご教授ください