WordPress(関連)

WordPress のセッションに関して

 WrodPress は、セッション管理がどうも独自仕様のようです。
適当な、プラグインに、セッション処理を加えて、PCとスマホのサイトの切り替えに使ったりしていますが、

どうもWordPressの文法に準拠していないような感じがします。

 ショッピングカート等では、セッションを使わないと、同一アカウントでの、情報の継続が難しいと、勝手に思っていました。別に同等の仕組みを独自に実装すれば、不可能なことなどありません。

とりあえず、現状調査と言う事で、まずは検索サイトで、

wordpress セッション

にて調査してみます。

情報が意外と少ないことに気づきました。

やはり、セッションを用いた何らかの処理は、みなさん実施されるようで、いろいろフォーラム等でも、質問が出されています。

気になったのは、有名なプラグイン、「Welcart」というのがあるのですが、
これで、wordpressにて、ショッピングサイトを実装できます。
と、ユーザー独自のセッションの干渉の質問でした。プラグインをオフにすれば、独自のセッションは使えたようです。

 最近と言いましても、WordPressもアップデートの頻度が結構上がっています。
常にセキュリティ面で、最新のバージョンを使いたく、最新にすることが多いので、複雑なプラグインを導入するのは、ある程度システムを理解していないとしんどいかもです。

当然、変更が入るとショッピングカートであれば、一通りの機能を確認する試験を実施する必要がございます。テスト自動化する方法もございますが、大規模サイトでない限りは、手動で確認するのが、テストの信頼性と言う意味では安心です。

 お客様の使い勝手からすると、基本管理系が少ないほうがそれはそれでいいので、サイトとショッピングカートを分けるのがいいのかは、微妙なところです。

例えば、WordPressを利用する場合、基本の固定ページはいいのですが、「新着情報」をブログ見たく、投稿機能を使って実現するか、あるいは、独自に作るかは悩ましいところです。

 当マインドハーツのサイトでは、「新着情報」系は、カスタムで設定して、この「WordPress情報」は、標準の投稿機能を使って実現しています。

※2015/05/27より、当マインドハーツのサイトは、WordPressから
concrete5(コンクリートファイブ)にCMS自身を変更しました。

他にブログを追加したい場合は、新たな、もう一系統のWordPressを追加して、実装するようにするのが、いいかと思います。
WordPressをインストールするときに、マルチサイト(複数個)使えるようにもできるようですが、私たちは利用していません。

 一見効率がいいように思われるかもですが、

バージョンアップや、ブログ独自のプラグインを使う場合など、片方は影響せず、もう片方は影響させると言った細かいニーズに対応するためです。それ以外にもプラグインの相互干渉等の問題もあり、これが正しい答え!

と言うのは難しいですね。

 運用面の投稿を考えると、複数のWordPressを切り替えられる投稿用のアプリもありますので、それほど問題ではないと私たちは思っています。

パーマリンク設定(奥深いですね)

もともとは、パーマリンクをカスタマイズ設定で出力していました。
設定は、/archives/%post_id%/としていました。

これで、投稿ページの月のアーカイブが、/archives/date/2014/11/とかになっています。

これはこれで違和感なかったんですが、テンプレートを調査していますと、

/archives/functions/ はおかしくないか?

厳密には、/category/functions/
のcategoryはいるの??

と書かれています。まあ、変更してarchives にしてたので、最初記事の意味が理解できませんでした。

確かに言われてみれば、・・・ 残念なのは、/archives/とURLでアクセスすると、
ページがありません。・・・  確かにこれはいけないですよね。
最も、リンクからアクセスしている状態では、問題はないのですが・・・。

 そこで設定を、/archives/%post_id%/から/%category%/%post_id%/に変えました。

そして、●ここ重要ですが、こんなプラグインを入れるそうです。
当サイトでも、実際このプラグインを入れてます。

名前は、「そのまんまやん!」と突っ込みたくなりますが、わかりやすいです。

WP No Category Base?これを入れて有効化するだけで、

ちゃんと、「category」をURLから消してくれます。
コードをカスタマイズしてもいいけど、

サイトマップとかのプラグインがおかしくなっても困るし、プラグイン同士の干渉は、
設定してみないとわからないですが・・・。

確認・試験の結果、きちんと意図した通りリンクします。 

 やはり、先達の知恵はありがたいですね。
言われてみれば、確かに「archives」ってなんで入るのか?

他の固定のページと少し違和感はあったのですが、まあそんなもんかな?
と思っていました。

先達の皆さんはよく調査されていますね。
ありがとうございます。

query_posts

 やはり、カスタム投稿タイプのスラッグ名(URLに表示する英数文字列)が固定ページと同じが問題のようです。

 最初バグでは?

と思ったのは、pre_get_postsを使ったほうが、query_postsを使うよりエラーが少ないとの情報がある。
ページナビがちゃんと動かないとか、「ファイルがありません。」や2ページ目以降にリンクできないとかでした。
しかしながらよく考えてみたらソース解析は、最後の最後なので、何とかしなといけません。

 通常の投稿はちゃんと2ページ目以降の遷移ができている。

 何か、設定とかに問題がないか?
 試しに、固定ページのスラッグ名をinformation -> inforに変えてみると正常に動くではないですか!

と言う事は、カスタム投稿の設定と、固定ページの設定が同じになっているから、
コードに、かなり厳密な解析や場合分けをしないと、起こりうることです。

やはり、注意ポイントでしたね。

 いろいろと勉強になります。