サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2019年6月3日 20:38
お世話になっております。
表題の通り、Pocketのシェア数カウント表示について質問です。
SNSボタンを自作運用しており、Pocketのシェア数の表示には
get_pocket_count()
を使用しています。
今まではこの関数のみで問題なく動作していましたが、5月30日に自分のサイトをチェックしたらカウント数が全て0になっていることを発見しました(このときver.は1.7.8.3で、先程1.7.9.2にしました)。
私もカスタマイズなどは一切行っていないタイミングで突然ゼロになったのでかなり困惑しています(その近辺でCocoonの自動アップデートもなかったと記憶していますが、そもそもこの辺りは更新されていませんよね?)
その他関係がありそうな情報は以下です。
- SNS Count Cacheは未使用
- テーマのSNSボタンはいずれも表示設定のまま(content.phpから直接コメントアウトで非表示にしています)
- Cocoon設定のシェア数表示のチェックはON
- Pocket側の仕様変更を疑ったがネット上を見ても誰も言及していないのでたぶん違う(というかそれならテーマ作成者も気付かれていると思います)
- キャッシュは有効、12時間、httpスキームもチェックON
- いずれも最近は全く変更を加えていない
親テーマlibフォルダ内「sns-share.php」なども拝見しましたが、関係ありそうな関数が定義されている場合はそもそも回避されていますし、問題はないように思えるのですが…。
なにか分かることがありましたらご教授ください。よろしくお願いいたします。
わいひら reacted
Topic starter
2019年6月3日 20:41
申し訳ありません、書きそびれました。
get_pocket_count()
は、「テーマで使っているSNSシェア数表示の関数がこれであることを知ったからそれをそのまま使わせていただいている」という意味です。
ネットで見つかるオリジナルのget_pocket_count()ではなくて、Cocoonの関数を借りているという意味です。
2019年6月3日 22:40
当サイトでも取得できていないようです。
ということは、おそらくですが、Pocket側で仕様変更があったみたいです。
実際、Pocketからカウントを取得しようとカウントページのHTMLを取得してみてみたのですが、カウント記述されていた部分がなくなっていました。
以前から、カウントを取得していたページには、以下のように書かれていたので、変わってしまったんだと思います。
Please do not scrape this for the Pocket count.
It is not relible for you to use and will likely change.
Contact us at api@getpocket.com for an official API.
Thanks!
※オフィシャルAPIとか書いてありますが、Pocket公式のAPIでPocketカウントは取得できません。
代替方法がないか、一応は探ってみます。
2019年6月3日 23:02
僕がちょっと調べてみた感じでは、添付画像のような仕様変更がされたのではないかと思われます。
なので、単にHTMLソースコードを取得しての、Pocket数の取得はできなくなったものと思われます。
取得するにしても、JavaScript実行をレンダリングした後、取得する必要があるのかも。
ただ、そんな難しいことをやるにしても厳しい。
ちなみに、以下が当サイトのPocket数ページ例( https://wp-cocoon.com/ のカウントを取得)。
https://widgets.getpocket.com/v1/button?align=center&count=horizontal&label=pocket&url=https%3A%2F%2Fwp-cocoon.com&src=wp-cocoon.com
リロードをしてみるとわかると思うのですが、最初はPocket数が表示されていなくて、後からJavaScriptで取得されている模様。
多分、ほとんどのテーマやサイトで同様の取得方法が行われているので、負荷対策が行われたのではないかと思われます。
Topic starter
2019年6月4日 00:00
わいひら様
お返事と調査、そして丁寧なご説明ありがとうございます。
Please do not scrape this for the Pocket count.
It is not relible for you to use and will likely change.
Contact us at api@getpocket.com for an official API.
Thanks!
には見覚えがありました。ちょうどそのタイミングが来たということなんですね…。
頂いた情報をもとに私もさらに調査を加え、一番ラクな取得方法を考えてみます。その後またこのトピックに追記したいと考えております。
どうぞよろしくお願いいたします。
わいひら reacted
2019年6月4日 18:44
いよいよ、来るべき時がきたという感じですよね^^;
前々から、ソースコード上で予告されていたことなので。
試しにSNS Count Cacheでカウントを取得してみましたが、やはりPocketは取得できないようです。
もしかしたら、以下のスクリプトコードを解析すれば出来るのかもしれませんが、かなりややこしそうです。
https://assets.getpocket.com/web/widgetButton.5affc09421300780dd0e.js
僕も何か思いつけば対策出来ればと思います。
2019年6月6日 21:28
SNS Count CacheがPocketの仕様変更に対応したようですね。
下記に対応方法が書かれていました。
取り急ぎご報告まで。
https://logicore.cc/how-to-get-pocket-count-through-api-780/
わいひら reacted
2019年6月6日 22:59
ありがとうございます!
そんなAPIが出ていたんですね。知りませんでした。
さそっく修正しておきました。
------------------------------------------------
https://github.com/yhira/cocoon
最新ファイルをダウンロードする場合は、上記ページのダウンロードボタンからzipファイルをダウンロードしてください。
FTPでのアップデート方法はこちら。
https://wp-cocoon.com/ftp-update/
------------------------------------------------
すぐに反映させるには、Cocoon設定の「キャッシュ削除」から「AMPキャッシュ削除」を行う必要があるかもしれません。
Topic starter
2019年6月7日 23:24
お二方
ご返信ありがとうございます。
そして迅速なアップデート感謝申し上げます。
とりあえずアップデートして思いつくキャッシュも一通り削除して更新してみましたがなにも起きません。
私は勝手に関数をお借りしているので当然かと思いつつ、失礼ですがどこを更新されたのかご教授いただいてもよろしいでしょうか?
ちなみにわいひら様のブログでもカウント表示は解決されたのでしょうか?
よろしくお願いいたします。
2019年6月7日 23:58
僕の環境(当サイト)では反映されていますよ(添付画像)。
先日の返信で記入した、GitHubのファイルでアップデートされましたか?
変更点はこちらです。
https://github.com/yhira/cocoon/commit/b7170d924e42c060227e2e6c7a16060a2c4adce7
Topic starter
2019年6月8日 12:01
わいひら様
get_pocket_count()を使用するときについfunction_exists()で囲ってしまっていました…。
解除したら無事カウント数が正常に表示されました。
この度も大変お世話になりありがとうございました。これからもCocoonをずっと愛用していきたいと思います。よろしくお願いいたします。
わいひら reacted
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。