サポート » プラグイン » WordPress Popular Postsの閲覧数をカウントアップしたい

  • 解決済 hakoye

    (@hakoye)


    WordPress Popular Posts(以下:WPP)についてお力をお貸しください。

    通常は記事が表示されたタイミングでWPPのテーブルなどに閲覧数カウントアップの処理が行われると思うのですが、
    そのカウントアップするのを記事表示時ではなく、特定のボタンクリック時など任意のタイミングで行いたいと考えています。

    調べた結果ajaxを利用する方法が出てきたので、
    一旦は admin-ajax.php を利用し、JSと functions.php を使って形にはできたのですが、
    様々な理由により admin-ajax.php を使うことができなくなり、
    結果的にJSのみで実装など他方法で実装する必要が出てきてしまいました。

    このような動きは、例えばREST APIなどを利用すればJSだけで実装可能なものでしょうか。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • こんにちは、

    翻訳機を使っていますので、文法的な間違いはご容赦ください。

    ご質問にお答えしますと、はい、可能です。参照:https://wordpress.org/support/topic/wpp-with-an-ajax-based-site/#post-11722489

    /wp-json/wordpress-popular-posts/v2/views/[post_id] エンドポイントを使用する必要があることに注意してください。パラメーターは、前に共有したリンクのものと同じです。

    トピック投稿者 hakoye

    (@hakoye)

    @hcabrera

    あまりピンときていないのもありますが、参照先の方法は admin-ajax.php を使って実装されていませんか?

    このプラグインは数年前まではadmin-ajax.phpを使っていました。現在では、プラグインはビューを登録するためにREST APIを使用しています。

    トピック投稿者 hakoye

    (@hakoye)

    ありがとうございます。

    すごく簡易的なコードで繰り返しになってしまいますが、JSで下記のようなことができるということですか?

    const viewCountUp = (postID) => {
      // ここでカウントアップ処理
    });

    こんにちは

    すごく簡易的なコードで繰り返しになってしまいますが、JSで下記のようなことができるということですか?

    参考ページを見る限り、そのようにしてボタンを押してカウントアップできそうですが、記事を見た時にカウントアップしないための何らかの処理がいるんじゃないでしょうか。

    トピック投稿者 hakoye

    (@hakoye)

    @munyagu

    こんにちは。

    特殊なのですが、記事を見た時は通常通りカウントアップして問題ないので、デフォルト機能はそのまま利用するつもりです。
    別ページにて記事内容の一部をモーダル表示させる箇所ありまして、「モーダルが表示された=記事が表示された」という考えで、実際に記事が表示されたわけではないですが記事表示されたことにしたいと考えています。

    /wp-json/wordpress-popular-posts/v2/views/{post_id} POST でビューを更新できるとありますが、こちらではだめでしょうか?

    https://cabrerahector.com/wordpress/wordpress-popular-posts-6-4-shortcode-enhancements-new-rest-api-endpoints/#views_endpoint

    例:

    const req = new XMLHttpRequest();
    req.open("POST", "(サイトアドレス)/wp-json/wordpress-popular-posts/v2/views/(投稿 ID)");
    req.send();
    
    トピック投稿者 hakoye

    (@hakoye)

    @ishitaka

    情報ありがとうございます。
    ひとまず解決したのですが、もしおかしい部分出てきたらこちらも試してみます。

    @hcabrera からいただいた情報を元に近い動きができたので解決済みにさせていただきます。

    お力添えいただき、ありがとうございました。

    @kayoke いえいえ、とんでもないです。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • このトピックに返信するにはログインが必要です。