ホームページ >CMS チュートリアル >&#&プレス >WordPressテーマ作成全工程(10):comments.phpの作成
「WordPressテーマ制作の全工程(9):single.phpの作成」でご紹介しましたが、今回は引き続きcomments.phpの作成方法を紹介します。一緒に~
今日はコメントテーマのコメントモジュールを作ります。テーマ ディレクトリ Aurelius の下に新しい comments.php を作成し、single.php 内の次のコードを切り取って、comments.php に貼り付けます:
<!– Comment’s List –> <h3>Comments</h3> <div class="hr dotted clearfix"> </div> <ol class="commentlist"> <li class="comment"> <div class="gravatar"> <img alt="" src=’images/gravatar.png’ height=’48′ width=’48′ /> <a class="comment-reply-link" href=">Reply</a> </div> <div class="comment_content"> <div class="clearfix"> <cite class="author_name"><a href="">Joe Bloggs</a></cite> <div class="comment-meta commentmetadata">January 6, 2010 at 6:26 am</div> </div> <div class="comment_text"> <p>Donec leo. Aliquam risus elit, luctus vel, interdum vitae, malesuada eget, elit. Nulla vitae ipsum. Donec ligula ante, bibendum sit amet, elementum quis, viverra eu, ante. Fusce tincidunt. Mauris pellentesque, arcu eget feugiat accumsan, ipsum mi molestie orci, ut pulvinar sapien lorem nec dui.</p> </div> </div> </li> </ol> <div class="hr clearfix"> </div> <!– Comment Form –> <form id="comment_form" action="" method="post"> <h3>Add a comment</h3> <div class="hr dotted clearfix"> </div> <ul> <li class="clearfix"> <label for="name">Your Name</label> <input id="name" name="name" type="text" /> </li> <li class="clearfix"> <label for="email">Your Email</label> <input id="email" name="email" type="text" /> </li> <li class="clearfix"> <label for="email">Your Website</label> <input id="website" name="website" type="text" /> </li> <li class="clearfix"> <label for="message">Comment</label> <textarea id="message" name="message" rows="3" cols="40"></textarea> </li> <li class="clearfix"> <!– Add Comment Button –> <a type="submit" class="button medium black right">Add comment</a> </li> </ul> </form>
single.php の元の場所にコードを追加します:
<?php comments_template(); ?>
上記のステートメント この機能は、comments.php のすべての内容を single.php にインポートすることであり、comments.php のコードを single.php に直接記述するのと同じ効果があります。
セキュリティ上の理由から、悪意のあるユーザーがコメント ファイルを直接開くことを防ぐために、comments.php ヘッダーに次のコードを追加してください。
<?php if (isset($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!'); ?>
コメント コードは WordPress の出力によって出力されるため、コメント関数 wp_list_comments() テーマのコメント コードとは異なり、コメント リストをカスタマイズし、comments.php 内の次のコードを削除する必要があります (次のコードは、記事のすべてのコメントをリストするために使用されます):
<li class="comment"> <div class="gravatar"> <img alt="" src=’images/gravatar.png’ height=’48′ width=’48′ /> <a class="comment-reply-link" href=">Reply</a> </div> <div class="comment_content"> <div class="clearfix"> <cite class="author_name"><a href="">Joe Bloggs</a></cite> <div class="comment-meta commentmetadata">January 6, 2010 at 6:26 am</div> </div> <div class="comment_text"> <p>Donec leo. Aliquam risus elit, luctus vel, interdum vitae, malesuada eget, elit. Nulla vitae ipsum. Donec ligula ante, bibendum sit amet, elementum quis, viverra eu, ante. Fusce tincidunt. Mauris pellentesque, arcu eget feugiat accumsan, ipsum mi molestie orci, ut pulvinar sapien lorem nec dui.</p> </div> </div> </li>
変更:
<?php if (!empty($post->post_password) && $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // if there's a password // and it doesn't match the cookie ?> <li class="decmt-box"> <p><a href="#addcomment">请输入密码再查看评论内容.</a></p> </li> <?php } else if ( !comments_open() ) { ?> <li class="decmt-box"> <p><a href="#addcomment">评论功能已经关闭!</a></p> </li> <?php } else if ( !have_comments() ) { ?> <li class="decmt-box"> <p><a href="#addcomment">还没有任何评论,你来说两句吧</a></p> </li> <?php } else { wp_list_comments('type=comment&callback=aurelius_comment'); } ?>
上記のコードの意味は大まかにわかります。if... then... が多く、上記の条件が満たされない場合は、すべてのコメントがリストされます。 。ここで、テーマ フォルダー Aurelius の function.php の ?> を次のコードに変更します。以前このブログからダウンロードした function.php に既に次のコードが含まれている場合は、追加する必要はありません。 ## 上記のコードと対応する説明で使用されている WordPress 関数:
##is_user_logged_in | ##ユーザーがログインしているかどうかを判断します |
wp_login_url | ブログのログイン アドレス |
##get_comment_author_link | 取得に使用されますコメント投稿者のブログ アドレス|
Cookie を読み取り、ユーザーが以前にコメントを投稿したことがある場合は、自動的にユーザー名の入力を支援します | $ comment_author_email |
$comment_author_url | |
#do_action('comment_form', $post- >ID); | この機能は一部のプラグインの予約です |
wp_logout_url | ログアウト リンク |
推奨学習: 「 | WordPress チュートリアル|
以上がWordPressテーマ作成全工程(10):comments.phpの作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。