• Resolved h.m

    (@hiromiwa)


    sga_ranking_get_date の関数を複数のカスタムポストで使用しています。
    以前は、問題なかったのですが、最近、複数のうち、1つのカスタムポストだけが、 sga_ranking_get_date で空の配列が戻ってきます。

    このカスタムポストのアクセスログはAanalytics上で存在しています。

    特定のカスタムポストがとれなくなってしまう理由は何でしょうか?

Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter h.m

    (@hiromiwa)

    プラグインをカスタマイズすることで解決しました。

    • This reply was modified 3 years, 9 months ago by h.m.

    @hiromiwa 同じ問題が発生しています。もし差し支えなければどのようなカスタマイズで解消できたのか情報共有をいただけませんでしょうか?

    Thread Starter h.m

    (@hiromiwa)

    今回の件、何をしたか覚えていないですが、以前、私が投稿した

    http://blog.livedoor.jp/kmiwa_project/archives/1072890709.html

    でデータを取得できるかもしれませんので、参考にしていただければと思います。

    @hiromiwa ありがとうございます。参考にさせていただきます。

    トピック主ではないのに追記するのは恐縮ですが、当方環境では解決したので、他の方のために情報を残しておきます。プラグインの改変はせずに済みましたが、いただいた情報がヒントになりました。

    まず空の配列が返ってくるというのは、GAのAPIから返ってきた情報の中に表示対象の投稿がないためのようでした。
    GAからのデータ取得件数はデフォルトで100件なのですが、この100件の中に目的の投稿タイプの情報が含まれていないとダメなので、とりあえずこれを増やします。

    教えていただいたブログ記事ではプラグインを直接書き換える方法が紹介されていましたが、公式のドキュメントにあるようにフックを使って取得件数を増やしました。(とりあえず当方の環境では500件に)
    http://simple-ga-ranking.org/ja/#hooks

    
    add_filter( 'sga_ranking_limit_filter', function($limit) { return 500; } );
    

    これだけで解決する場合もあると思います。当方ではこれだけではダメだったので、「本日から何日前までのデータに遡ってランキングデータを取得するか」の数値を変えてみます。

    
    sga_ranking_get_date( array(
    	'post_type'     => 'foo',
    	'display_count' => 5,
    	'period'        => 30,  // ここをいろいろ変えてみる。
    ) );
    

    上記はPHP関数で取得する場合の例ですが、ウィジェットやショートコードで表示させる場合もおそらく同様です。
    これは単純に増やせば良いとかではなくて、指定する日数によって取れる投稿の並び順も変わるので、とにかくいろいろ変えてみてデータが取れる日数を探ります。

    自分の環境ではこれで解決しました。
    ただ、また何日か経ってアクセス状況が変わり、当該の投稿タイプのアクセスが他より少ない場合、また取れなくなる可能性もあります。
    複数の投稿タイプを作って運用しているサイトで、その投稿タイプがメインコンテンツではない場合、こういうこともあると知っておいたほうが良さそうです。

    Thread Starter h.m

    (@hiromiwa)

    補足ありがとうございます^^

    • This reply was modified 3 years, 4 months ago by h.m.
Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘特定のカスタムポストで sga_ranking_get_date が空になる’ is closed to new replies.