サポート » 使い方全般 » コメントIDから記事のIDを取得する方法はないでしょうか。

  • 解決済 eijiy

    (@eijiy)


    urlの「#comment-数字」の部分を元に、そのコメントを含む記事のIDを取得する事は可能でしょうか。

    ajaxなwpで、urlを取得出来ない状態にあるのでどうにかならないでしょうか。

    urlの取得はjQueryの話題になるので、上記の質問になりました。

    宜しくお願い致します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 関数が用意されているかどうか記憶に無いですが、DB上のテーブルは
    comment_ID comment_post_ID ・・・・・・
    という並びで、
    コメントのID、紐付けた記事のID・・・・・
    ですので、取得するのはさほど難しくは無いSQLと思います。

    すみません、ざっと考えただけなので詰めてないです。

    kvexさん、返信ありがとうございます。

    SQLですか~、調べてみます。

    コメントのIDを元に、そのコメントを含む投稿IDを取得する場合、データベースにアクセスしてwp_commentsテーブルのcomment_post_IDを取り出す必要があると思うのですが、どの様にすればいいのでしょうか。

    $comments = $wpdb->get_resoults( SELECT comment_ID, comment_post_ID FROM $wpdb->comments );

    と、こんな事だと思うのですが、全てのcomment_IDとcomment_post_IDを取得してから分かっているコメントのIDと照合するのでしょうか。または条件を指定して取得する様な事が出来るのでしょうか。

    上記コードの続きをどう書けば、コメントのIDを元に、そのコメントを含む投稿IDを取得する事が出来るのでしょうか。

    $cid = コメントID;
    $commentpostID = (int) get_comment($cid)->comment_post_ID;

    みたいな感じでどうでしょう。

    LVP8さん、返信ありがとうございます。

    以下の様にしてコメントIDと、そのコメントを含む投稿のIDを取得する事が出来ました。

    $data = $_REQUEST[ 'data' ];
    
    $cid = strpos( $data, 'comment-' );
    if ( $cid != -1 ) {
    	$cid = ereg_replace( 'comment-', '', $data );
    	$data = (int) get_comment( $cid )->comment_post_ID;
    }

    有難うございました。

    修正

    $data = $_REQUEST[ 'data' ];
    
    $cid = eregi( 'comment-', $data );
    if ( $cid ) {
    	$cid = ereg_replace( 'comment-', '', $data );
    	$data = (int) get_comment( $cid )->comment_post_ID;
    }

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「コメントIDから記事のIDを取得する方法はないでしょうか。」には新たに返信することはできません。