• WordPressでオリジナルテーマの作成をしており、下記がうまくいかず困っています。

    1)comments.phpが読み込めない
    2)wp_list_commentsが出力されない
    3)返信するを押すとindex.phpに移動してしまい返信できない

    1)comments.phpが読み込めないについて
    現在front-page.phpのサイドバーに投稿を全表示させているのですが(クライアントの希望でアーカイブページなし、個別投稿ページなし)各投稿にコメントを配置したいのですが、

    <?php if (comments_open() || get_comments_number()){ comments_template();}?>

    を入力してもcomments.phpが出力されません。

    ※comments.phpはtheme→該当のテーマフォルダ→comments.phpに配置しています。

    2)wp_list_commentsが出力されないについて
    どうしてもうまくいかないので上記front-page.phpにcomments.phpの内容を直書きしたら表示されるのですが、今度はwp_list_commentsを入力してもコメントリストが出力されません。

    <?php
    
    $comments_args = array(
    
    'post_id' => get_the_ID(),
    
    'status' => 'approve',
    
    'short_ping' => true,
    
    'avatar_size' => 40,
    
    'callback' => 'sng_comments',
    
    'type' => 'all',
    
    'reply_text' => '返信する',
    
    'page' => '',
    
    'per_page' => '',
    
    'reverse_top_level' => null,
    
    'reverse_children' => ''
    
    );
    
    $comments = get_comments($comments_args);
    
    if ($comments) : ?>
    
    <ul class="comment-list">
    
    <?php wp_list_comments(array(), $comments); ?>
    
    </ul>

    と記載したところ表示されるようになったのですが、なぜ取得できないのでしょうか。front-pageに記載しているせいでしょうか。

    3)返信するを押すとindex.phpに移動してしまい返信できないについて
    返信ができず困っています。上記エラーと関連があるのでしょうか。

    もしお分かりになる方がいたらご教授のほどお願いいたします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんばんは。

    1)comments_open()とget_comments_number()は引数が省略された場合、現在の投稿についての情報を返します。そのため、front-page.phpにおいてコメント投稿が許可されているかコメントがある場合にtrueとなります。front-page.phpでコメント投稿が許可されておらずコメントがなければ、常にfalseになるのではないでしょうか?

    2)get_the_ID()も同様に現在の投稿のIDを返すので、それが原因ではないでしょうか?

    3)上記のエラーを修正してみないと、関連性についてはなんとも言えません。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「comments.phpが読み込めません」には新たに返信することはできません。