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

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

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

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

461閲覧

【Wordpress】Ajaxを使った記事読み込みで想定通りに記事が読み込めない

lantern

総合スコア10

WordPress

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

1クリップ

投稿2018/02/01 01:24

WordpressでAjaxを使った記事の追加読み込みを試しているのですが、
・表示用のアーカイブテンプレートで予め取得していた記事と重複する記事が出てくる
・orderで指定した順番で記事が取得できていない
といった現象が起きてしまいました。

同じような現象が起きた方がいらっしゃれば、どこが原因だったかご教示いただけないでしょうか?

ソースコードなど

やりたいことに近かったこちらのページを参考に構築を行っています。
AjaxでWordPressのコンテンツを遷移せず表示させる

Ajax側は以下の内容でget_postsを使って記事を取得するようにしてあります。(offset以外はアーカイブテンプレートも同じ内容です)

php

1$args = array( 2 'post_type' => 'post', 3 'post_status' => 'publish', 4 'category' => $catID, 5 'tax_query' => array( 6 array( 7 'taxonomy' => 'lines', 8 'field' => 'term_id', 9 'terms' => $setLines,//配列でIDを渡しています。 10 ) 11 ), 12 'posts_per_page' => 10, 13 'offset' => $paged,//現在表示されている記事数を別で取得しています。 14 'orderby' => array( 'title' => 'ASC', 'date' => 'DESC' ), 15);

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/02/05 03:39

$pagedには想定している値が入っていますか。
lantern

2018/02/05 04:15

はい、$pagedの値は想定通りの値が入っていることは確認できました。
guest

回答1

0

ベストアンサー

WPのAjaxは基本的に「管理画面」に属している
ということが原因で同じコードの動作が
フロント側と違うということがあります

管理画面のポスト一覧の並べ替えをする
プラグインとか入れてたりしたら
それが原因かもしれません

投稿2018/02/05 03:27

KazuhiroHatano

総合スコア7804

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

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

lantern

2018/02/05 04:20

ありがとうございます! 並び替えプラグインは利用しているので調べてみます。
lantern

2018/02/05 07:48 編集

ありがとうございます、解決できました! ご指摘いただいた通り、並び替えプラグインが影響していました。 プラグインは「Intuitive Custom Post Order」を使っているのですが、 プラグインページを見るとget_postsでの並び順の上書きについて注意書きがされており、 まさに下記の「date」の部分が引っかかっていたようです。 --------------- 'orderby' => array( 'title' => 'ASC', 'date' => 'DESC' ), --------------- 今作っているものは「title」での並び替えの優先度は高くないので、 管理画面で設定した記事順優先で、上記の記述は外してみます。 貴重なアドバイスをいただき、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問