BcBaser->blogPostsで出力しているブログの表示が更新順にならない。

では、固定ページとして書いておられるんですかね?
トップページ用の固定ページがありますか?
あれば、そのページの編集画面で、オプションのコード欄などに、同様の記述があるのではないかと?

「いいね!」 1

トップページは固定ページで作って、
blogPostsでブログの記事を表示。
ちなみに、オプション欄は空欄です。

ブログのクリックで開く方は、
ブログを追加してるだけで、
何も触ってません。

前バージョンまでは並び方崩れなかったので、
何かが変わってると思いますけど。うーん。

なるほど、本文欄にblogPostsのPHPコードを書いてらっしゃるってことですね?
だとしたら、二つ並んで表示されている「新着〇〇情報」のブログと「最近の〇〇探訪」のブログ、それぞれのblogPostsのコードが、書かれていると思うのですが?

「いいね!」 1

何度もコメントありがとうございます。

引用、二つ並んで表示されている「新着〇〇情報」のブログと「最近の〇〇探訪」のブログ、それぞれのblogPostsのコードが、書かれていると思うのですが?

本文に書いてある、その部分を最初に教示頂いたもので、3項目目にソートをいれてみたのですが、変化がなかったということです。

いえいえ、お気遣いなく。
キャッシュをクリアされても、変わりませんか?

「3項目目にソートをいれてみた」というのはどういう意味でしょう?
もし差し支えなければ、その部分のコードを貼っていただくことできますか?

「いいね!」 1

キャシュクリアは実施済みです。

引用 <?php $this->BcBaser->blogPosts('damtripblog', 5, array('sort'=>'modified')); ?>

をそのまま本文にいれました。

ここが並び変わっても、ブログのページの方は並び変わらない気がしますが。

ブログのページとおっしゃってるのは、ブログ一覧ですね?
ブログ一覧の並び順は、blogPostsでは、変わりません。

もともと、表題の質問は、TOPページの並び順をおっしゃてたのではないのですね!ブログ一覧の並び順をおっしゃってるんですね?

「いいね!」 1

最初は、トップページのほうが並ばないことに気がついて、
ここに投稿したのですが、
ブログのページの方も並んでいないことに気がついたのです。

言葉で伝えるのが難しいですね。申し訳ございません。

ようやく問題点がわかりました!
まず、今回のアップデートでブログ一覧の並び順が変わったということは、多分ですが無いと思います。
おそらく、偶然、dbkaiyuさんのブログ更新のタイミングなどが、問題を表出させなかっただけだと思います。

ちなみに、特に何もblogPostsコードのオプションで制御しなければ、ブログ一覧の並び順に倣って、トップページのblogPostsの並び順は出力されます。

なので、dbkaiyuさんが問題視されているのは、blogPostsではなく、ブログ一覧の並び順ということになります。
で、ブログ一覧の並び順ですが、これは、通常、ブログの投稿日を基準として、降順か昇順かをブログ単位に設定画面で制御しています。
ですので、そもそも、特にプラグイン等で改変を加えない限り、更新日基準で並んでいるはずがないのです。

「いいね!」 1

つまり、ブログの並び順で出力されるので、
blogPostsの問題ではなく、
ブログの問題ということですね。

ブログのインデックスページが、
更新日順に並ばなくなったという問題があるということですね。

@GUSSAN さん、説明するための単語がよくわからず申し訳ございませんでした。

いえいえ、大丈夫です。気になさらないでください^^
もう一度申し上げますが、そもそも、更新日順に並んでいたということはないと思います。勘違いだと思いますよ?
先ほども申し上げましたが、ブログ一覧は、あくまで投稿日(更新日ではありません)を基準として、降順か昇順を各ブログの設定欄で制御しています。
ScreenShot 2020-10-08

ちなみに、更新日順にブログ一覧を並び替えたいというのであれば、私の最初のコメントで引用した「ブログ一覧表示を更新日基準でソートしたい」というトピック内でryuringさんが提案してくださったカスタムプラグインを実装するなどすれば、可能です。

「いいね!」 1

ちなみに、もしかして、更新日とおっしゃってる日付は、記事編集画面の「投稿日」欄の日付のことだったりしますか?

「いいね!」 1

いま、確認しました。新しい記事順になってました。

整理します。これまで行っていた作業は、

  1. 記事を投稿する。
  2. 後日、記事を再び編集して、投稿日時を修正し、再投稿する。

ということをしていました。

私が更新日順といっていたのは、上記のように作業した日時に投稿日時を修正していたからです。

新しい記事(投稿日)順で並ぶのであれば、投稿日を修正しているので、
その日付順に並ぶはずですよね?
これまでも、思い通りに並んでましたので、今回はやはりなにかおかしいと思った次第です。

理解しました。つまりdbkaiyuさんのおっしゃっている「更新日」は、更新した「投稿日」ということですね!
で、その更新した投稿日がきちんと並んでいないということですね!
だったら、確かにおかしいですね!!
ちなみに、更新日の日付は、数字入力でされてますか?一度、カレンダーピッカーで選び直してみて、上書きしてみてはどうでしょう?
それでも、日付通りにならばなければ、確かにおかしいですね!

「いいね!」 1

やっと伝わりました。説明難しいです。

ちなみに、更新日の日付は、数字入力でされてますか?一度、カレンダーピッカーで選び直してみて、上書きしてみてはどうでしょう?

カレンダーピッカー(カレンダーから選ぶことだと理解して)から入力してから、
更新して、キャッシュクリアボタン押して確認してみましたが、
並び順は、

2020.10.04の記事が、2020.09.19と2020.09.17の間に表示されたままでした。

もしやと、思って、
先頭になっている、2020.09.19の記事も
カレンダーピッカーから選んで同じ日付で更新してみたところ、なんと!
思い通りの更新日順になりました。

10.04の記事がわるかったのではなく、09.19の記事が変だったようですね。
原因はよくわかりませんが、思い通りの順(投稿日)に並びました。

@GUSSAN さん、お付き合いくださりありがとうございました。
@yamamoto さん、解決したようです。再現できないのでよくわかりません。

解決済みとします。

「いいね!」 2

よかったです。
お疲れ様でした!

実は、ブログ記事テーブル内のカラムには、
posts_date(編集画面で我々が入力更新している今回取り沙汰した「投稿日」)
created(記事が作成された時に自動で記録される「作成日」)
modified(記事が更新された時に自動で記録される「更新日」)
という3つの日付があるんです。

「いいね!」 1

@GUSSAN さんのコメントが気になったので追加します。

実は、ブログ記事テーブル内のカラムには、
posts_date(編集画面で我々が入力更新している今回取り沙汰した「投稿日」)
created(記事が作成された時に自動で記録される「作成日」)
modified(記事が更新された時に自動で記録される「更新日」)
という3つの日付があるんです。

ということは、ブログで、最初に作成した日と内容を更新した日を両方表示することができると思うのですが、対応する関数とかあるんでしょうか?関数リファレンスでは見つけられませんでした。方法があるのでしょうか。(別スレにしたほうがよかったかな。)

できます!
過去記事参照してください。

ブログ記事で作成日時と更新日時を表示させたいのですが・・

ですが、dbkaiyuさんの場合、「投稿日」を「更新日」扱いをしてこれまで記事を書いてきたおられるので、改めて本来の「更新日」を表示させると、思った順番に並ばない。。。という現象になったりするかもしれませんが。
その辺りの事情は、つまり、このトピックで私が勘違いして説明してきた事情です。

ちなみに、「更新日」(modified)は、記事の内容が更新され保存されたタイミング(つまり記事のレコードがDB上で更新されたタイミングですね)で日時が自動で更新されるため、「投稿日」の様にユーザー側でエディットができません。直接DBにアクセスして変更することは可能ですが。。。
そのため、表向きは、更新扱いしたくないようなちょっとした誤字脱字の訂正でも新しい更新日付がついてしまいますし、極端な話、内容を全く変更していなくても編集画面を開いて保存ボタンを押しただけでも、更新日が変わってしまいます。
そういう、なかなか思う様に扱えない日付だということは理解しておいてください。

「いいね!」 1

すでに、投稿があったのですね。探し方が下手だったようです。

作成日created(最初に記事を作成した日)であれば、使えそうでそうです。
post配列というのはどこかに解説記事があればよいなーっていつも思います。
(DBの構造を理解しないと使えそうにないですけど。)

@GUSSAN 様ありがとうございました。

「作成日」=「投稿日」と考えがちですが、通常の新規記事作成のタイミングで記事を生成し、同日に公開ということであれば齟齬は起きませんが、一旦作成した記事を公開せずに下書き状態で保存し、後日仕上げて公開という様な場合、実際の公開日より、随分前の日時が公開日になってしまったり、そういうことが起きてしまいます。
また、テンプレートを利用する時に初期データを反映させることがあると思いますが、その場合も初期データとして生成されたレコードは、テンプレートを仕込んだ時の日付?だったりします。それをうっかり利用して記事を書いたりすると、とんでもない日付が表示されることになってしまうこともあります。

そういった意味で、ユーザー側でエディット可能な「更新日」がブログポストのテーブル内にあれば、いろいろと融通が効くのですけどね。。。
Wordpressなどにも、その辺りを考慮して、エディット可能な「更新日」が存在します。一度、以前にエディット可能な「更新日」の要望を上げたことがありますが、皆さんが必要性を感じればいつかは実現するかもしれませんね。期待するところです。
なにやら、チャットみたいになってしまってるので、この辺で!w

「いいね!」 1