サポート » 使い方全般 » AjaxなWPでコメントを表示させるにはどうしたらいいでしょうか。

  • 解決済 eijiy

    (@eijiy)


    既存のhtmlにWordPressのタグを挿入したシンプルなテーマで、Ajax(非同期通信)化を試しています。

    現在のところWordPressのurlの末尾に「#とページや記事、カテゴリーのIDナンバー」を追加し、jQuery history pluginを使いhash(#以降)の変化を受けて、ajax非同期通信でテーマ内に作成したpage-test.phpにhashを渡して、そこでhashを元に#contents(#main,#side)の内容を作成してjQueryで#contentsの内容をpage-test.phpで作成したもに入れ替えてajax非同期通信を実現しています。

    尚、空のページを作成してスラッグをtestとしpage-test.phpでWordPressのタグを使える様にしています。

    前置きが長くなりましたが、最低限必要な情報と思い書かせて頂きました。

    それで質問ですが、page-test.phpでは以下の様にしてhash(ID)を元にpageの内容を取得して作成していますが、コメントが表示されません。

    $hash = $_REQUEST[ 'hash' ]; // id
    
    $pages = get_pages( 'include='.$hash );
    
    if ( count( $pages ) == 1 ) {
    		foreach( $pages as $page ) :
    			echo '<div class="post"><h1 class="title">';
    			echo $page->post_title;
    			echo '</h1><br class="clear" />';
    			$content = $page->post_content;
    			$content = apply_filters( 'the_content', $content );
    			$content = str_replace( ']]>', ']]>', $content );
    			echo $content;
    			echo '<ol class="commentlist">';
    			wp_list_comments();
    			echo '</ol></div>';
    		endforeach;
    }

    この様な場合、コメントを表示させるにはどうしたらいいでしょうか。

    WordPressをAjax化させる夢を実現するためにご協力ください。

    宜しくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    未検証ですが、CodexのFunction Reference/wp list commentsを見る限りページIDを指定できそうに見えます。こちらで表示されませんか?

    $args = array('page='.$hash);
    wp_list_comments( $args );

    そもそもちゃんと$pagesにコメントが入っていますか?入っているなら$page->post_contentと同じやり方で表示させるしかないと思いますけど。
    でなければsetup_postdataするとか?

    返事が遅れて申し訳ありません。

    この件は、ログイン、ログアウトの問題と関係あるかもしれません。

    1.ログイン状態でブラウザを再起動してトップページhttp://eiji.in/wp/にアクセスするとコメントが表示され、JavaScriptも機能する。

    2.ログアウトしてトップページhttp://eiji.in/wp/にアクセスするとコメントは表示されるが、JavaScriptが機能しない。しかしウィジェットのメタ情報の管理画面のリンクが表示されていて、ログイン状態と思って管理画面のリンクをクリックするとログイン画面が表示される。そこでログインしてトップページを開くと1番と同じ。

    それでAjaxのスクリプトを外してみるとコメントが開きません。

    こんな状態なのでスクリプトを見直す必要があるようです。

    Ajaxのスクリプトを外した状態で、ログインすればjQueryのtabs.jsが機能して、ログアウトしたら機能しないというのはどういうことでしょうか。

    解決策が見つからないのでタブをつかわずにAjaxの実験を進めたいと思います。

    hissyさんとshokun0803さんの意見を参考にしてやってみます。

    これで解決とさせてください。

    ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「AjaxなWPでコメントを表示させるにはどうしたらいいでしょうか。」には新たに返信することはできません。