質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

3215閲覧

無限スクロールについて

fwww0707

総合スコア10

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/07/23 21:47

現在運営している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; ?>

わかる方どうかごご教授ください

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/07/24 03:38

get_template_part で呼び出している 'list' のテンプレートの内容がわかりません。冒頭だけでも質問文に追記をお願いします。
guest

回答2

0

HTMLがないのでアドバイスだけ。
現行コードでは次のように click イベントを定義しています。

JavaScript

1jQuery('#list .entry').on('click', handler);

.entry の記事が動的に挿入されるとすれば、次のコードに修正すれば良いと思われます。

JavaScript

1jQuery('#list').on('click', '.entry', handler);

蛇足ですが、ページ数は有限なので「無限スクロール」ではないですね…。
個人的には Autopagerize が記憶に新しい。

Re: fwww0707 さん

投稿2016/07/24 01:08

think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

wordpressは使ったことないんですが、以下のページによれば、post-loadイベントハンドラを書けばよさそうです。

https://jetpack.com/support/infinite-scroll/
"JavaScript Events"あたり

投稿2016/07/26 23:06

matobaa

総合スコア2493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問