日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

前面給大家介紹了《WordPress主題制作全過程(九):制作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中,與直接在single.php寫comments.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');
    }
?>

以上代碼的意思大致也可以看得出來了,就是一大堆 如果...就....,如果以上條件都不滿足就列出所有評論。現在將主題文件夾Aurelius中的functions.php中的 ?> ,改成以下代碼,如果你之前從本博客下載到的functions.php已經有以下代碼則不用再添加:

function aurelius_comment($comment, $args, $depth) 
{
   $GLOBALS['comment'] = $comment; ?>
   <li class="comment" id="li-comment-<?php comment_ID(); ?>">
<div class="gravatar"> <?php if (function_exists('get_avatar') && get_option('show_avatars')) { echo get_avatar($comment, 48); } ?>
 <?php comment_reply_link(array_merge( $args, array('reply_text' => '回復','depth' => $depth, 'max_depth' => $args['max_depth']))) ?> </div>
<div class="comment_content" id="comment-<?php comment_ID(); ?>">
<div class="clearfix">
<?php printf(__('<cite class="author_name">%s</cite>'), get_comment_author_link()); ?>
<div class="comment-meta commentmetadata">發表于:<?php echo get_comment_time('Y-m-d H:i'); ?></div>
   <?php edit_comment_link('修改'); ?>
</div>
<div class="comment_text">
<?php if ($comment->comment_approved == '0') : ?>
<em>你的評論正在審核,稍后會顯示出來!</em><br />
      <?php endif; ?>
      <?php comment_text(); ?>
</div>
</div>
<?php } ?>

以上代碼所用到的WordPress函數及相應的說明:


函數名稱函數功能
get_avatar($comment, 48)獲取評論者的gravatar頭像,尺寸為48 * 48
comment_reply_link()回復留言的鏈接
get_comment_author_link用于獲取評論者博客地址
get_comment_time獲取評論發布時間
edit_comment_link管理員修改評論的鏈接
comment_text()輸出評論內容


好,現在在你的文章頁面底部就可以正常地顯示評論了!現在我們繼續來制作提交評論的表單,將以下代碼刪除(也就是評論表單的代碼):

<!– 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>

改成:

<?php 
if ( !comments_open() ) :
// If registration required and not logged in.
elseif ( get_option('comment_registration') && !is_user_logged_in() ) : 
?>
<p>你必須 <a href="<?php echo wp_login_url( get_permalink() ); ?>">登錄</a> 才能發表評論.</p>
<?php else  : ?>
<!-- Comment Form -->
<form id="commentform" name="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post">
    <h3>發表評論</h3>
    <div class="hr dotted clearfix"> </div>
    <ul>
        <?php if ( !is_user_logged_in() ) : ?>
        <li class="clearfix">
            <label for="name">昵稱</label>
            <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="23" tabindex="1" />
        </li>
        <li class="clearfix">
            <label for="email">電子郵件</label>
            <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="23" tabindex="2" />
        </li>
        <li class="clearfix">
            <label for="email">網址(選填)</label>
            <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="23" tabindex="3" />
        </li>
        <?php else : ?>
        <li class="clearfix">您已登錄:<a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="退出登錄">退出 ?</a></li>
        <?php endif; ?>
        <li class="clearfix">
            <label for="message">評論內容</label>
            <textarea id="message comment" name="comment" tabindex="4" rows="3" cols="40"></textarea>
        </li>
        <li class="clearfix">
            <!-- Add Comment Button -->
            <a href="javascript:void(0);" onClick="Javascript:document.forms['commentform'].submit()" class="button medium black right">發表評論</a> </li>
    </ul>
    <?php comment_id_fields(); ?>
    <?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; ?>


函數名稱函數功能
is_user_logged_in判斷用戶是否登錄
wp_login_url博客登錄地址
get_comment_author_link用于獲取評論者博客地址
$comment_author讀取cookie,如果該用戶之前已經發表過評論則自動幫助用戶填寫用戶名
$comment_author_email讀取cookie,如果該用戶之前已經發表過評論則自動幫助用戶填寫Email
$comment_author_url讀取cookie,如果該用戶之前已經發表過評論則自動幫助用戶填寫博客地址
do_action('comment_form', $post->ID);該函數為某些插件預留
wp_logout_url退出登錄的鏈接


WordPress主題制作全過程完整列表:

WordPress主題制作全過程(一):基礎準備

WordPress主題制作全過程(二):主題文件構成

WordPress主題制作全過程(三):HTML靜態模板制作

WordPress主題制作全過程(四):小試牛刀

WordPress主題制作全過程(五):制作header.php

WordPress主題制作全過程(六):制作footer.php

WordPress主題制作全過程(七):制作sidebar.php

WordPress主題制作全過程(八):制作index.php

WordPress主題制作全過程(九):制作single.php

WordPress主題制作全過程(十):制作comments.php

WordPress主題制作全過程(十一):制作page.php



分享到:
標簽:WordPress主題制作
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定