閲覧履歴実装プラグインLast View postsのDeprecated: preg_replace():を修正する。

ECサイトを構築する際、必要な機能としては

  • カート機能
  • 会員機能
  • お気に入り機能
  • 閲覧履歴表示機能

などが挙げられます、閲覧履歴の表示は楽天・ZOZOTOWN・AMAZONなどを見ても標準といっていいほど実装されています。

閲覧履歴実装プラグインLast View postsのDeprecated: preg_replace():を修正する。
※トレーニング器具をみてました。

WordPressでも閲覧履歴を実装するプラグインが沢山あります。
その中でも、「Last View Posts」というプラグインがとてもカスタマイズしやすく使いやすいのでオススメです。
Welcartに閲覧履歴を!なんて考えてる方は、このプラグインに行き着いたという方も多いのではないでしょうか。

閲覧履歴実装プラグインLast View postsのDeprecated: preg_replace():を修正する。
Last View Posts

ただ、このプラグイン更新が2013年3月27日で止まってしまっています。
もはや化石のようなプラグイン。
でも今回はなぜかこのような化石プラグインを使おうと思った理由があります

  • カスタマイズがしやすい
  • ファイルが1つだけで
  • 余分な機能がない

ダウンロードして解答していただくと分かるのですが、なんとファイルが「last_viewed_posts.php」しかありません。
そのため、PHP初心者でもあってもどういう風に動作しているのかというのが分かりやすいのが特徴です。
案件に合わせてカスタマイズやメンテナンスしやすいという特徴からこのプラグインを使用することに決めました。

ですが、流石の化石プラグイン、エラーが当然でてきます。
今回はそんな「Last View Posts」を使用するさいのエラーを解消する方法をご紹介いたします。

Last View Postsのエラーを修正しよう

Deprecated: preg_replace(): The /e modifier is deprecated, を修正する

割りと随分昔からですが、PHPの使用が変わり、preg_replace()が非推奨になりました。
その為、Last View Postsを有効にすると、

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /var/www/wordpress/wp-content/plugins/last-viewed-posts/last_viewed_posts.php on line 99

なんてエラーが出てきてしまいます。

エラーどおり、preg_replace_callbackに変更するだけではまた違うエラーが出てきてしまうため下記サイトを参考に修正を加えてみました。

参考サイト:wordpress主题frontopen的设置与修复

「last_viewed_posts.php」内の

の部分を

そして

に変更することでエラーをpreg_replace_callbackに対応させることが可能です。
これだけでエラーメッセージは解消されたかと思います。

閲覧履歴に商品だけを表示する

閲覧履歴を表示する場合、商品だけではなく、カートやブログまで表示されてしまう事があります。
商品だけを生じするために、ちょっとしたカスタマイズをしていきましょう。

コード修正点

welcartで使用する場合は、カテゴリ名がitemで登録されています。

is_single()となっている所に、&& in_category('item')と追加してあげるだけで、商品ページを開いた時だけCookieに保存するという設定をしてあげることができます。

下記がコードです。

プラグインカスタマイズに挑戦してみよう。

プラグインのカスタマイズはあまりオススメしない。という方も多いでしょう。

  • あとちょっと痒いところに手がとどけば!
  • 更新止まってるけど、使い続けたい!

なんてプラグインは思い切ってカスタマイズしてみるのも良いでしょう。
Wordpressのプラグインの中には驚くほど、シンプルなコードで出来ているプラグインも少なくありません。
色々なプラグインを解析する事で、PHPの勉強にもなります。
是非プラグインの中身を覗きまくって見てください。

PR

Instagram Feed

Load More
Something is wrong. Response takes too long or there is JS error. Press Ctrl+Shift+J or Cmd+Shift+J on a Mac.

Instagram

WEB DIRECTOR

マンノカズミチ

バンドマンを経て、台湾で日本語教師をしてましたが、2016年より株式会社AWESOMEにてWEB開発とコンテンツ制作を担当しております。SEO対策と記事執筆が得意分野です。こっそり台湾と日本のハーフです。

他の投稿を見る →