WordPressテーマ『Cocoon』は無料とは思えないほどの多機能のテーマです。
SWELLには、Cocoonから乗り換えサポートプラグインが用意されています。
これを利用するとデザインの崩れをある程度抑えることが出来ます。
但し、PV数はデザインではないのでその対象とはなっていません。
つまりテーマを変更した時点で、リセットされます。
これを何とか引き継ぎたいと思い、THE THORの時同様データベースを直接いじりました。
私が取った手段は邪道であり、暴挙でもあります。
そのため具体的は方法は書きません。
CocoonとSWELLはこんな風に管理している、という参考程度にして頂きたいです。
やる場合は自己責任でお願いします。
CocoonのPV数
投稿一覧のページ等を見ると分かりますがCocoonでは、本日、週、月、全体の4つのPV数を表示します。
これをどうやって管理しているのかと、データベースを見てみたところ、wp_cocoon_accessesという独自のテーブルを用意していました。
このテーブルで、IDと日付でレコードを作成し、PV数をカウントしていました。
表示する時に期間ごとに集計している訳です。
つまりCocoonでは、wp_postmetaテーブルでPV数の管理は行っていません。
SWELLのPV数
SWELLではPV数をwp_postmetaテーブルの『ct_post_views_byloos』というmeta_keyで管理しています。
Cocoonとは違い、全体数だけを取り扱っています。
引き継ぎの方法
wp_cocoon_accessesテーブルのPV数をID毎に集計し、wp_postmetaにct_post_views_byloosというmeta_keyのレコードを作成します。
文章にすると大仰な感じもしますが、SQL文1個で一気にレコードを作ることが出来ます。
この操作ではCocoonのPV数には何の影響もありません。
SWELLからCocoonに移行する際は、wp_postmetaテーブルのmeta_keyがct_post_views_byloosのレコードを抽出し、適当な日付でwp_cocoon_accessesにレコードを追加すればOKです。
但し、Cocoon→SWELL→Cocoonと変更した場合、単純にこの操作をするとPV数が重複する部分が出る可能性があります。
回避する方法で一番簡単なのは、wp_cocoon_accessesテーブルを空にすることかと思います。
決しておすすめ出来る方法ではありませんが
行う場合はSWELLを有効化した直後にWP Maintenace Modeプラグイン等で外部からのアクセスを遮断した状態で行って下さい
データベースのバックアップも忘れずに