多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > WordPress > WordPress主題制作全過程(十):制作comments.php

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

來源:程序員人生   發布時間:2013-10-26 18:32:02 閱讀次數:3290次
今天我們來制作評論主題的評論模塊。在主題目錄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’ title="提示:點擊查看" 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’ title="提示:點擊查看" 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 ligul a 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>
</li>
<?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 退出登錄的鏈接

好了,評論模板comments.php制作完畢!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: www.91在线播放 | 欧美理论片在线观看一区二区 | 日本free护士videosxxxx动漫 | 一区二区三区免费视频 www | 亚洲欧美久久一区二区 | 免费的爱爱视频 | ak福利午夜在线观看 | 波多野结衣高清videossex | 久久国产亚洲欧美日韩精品 | 欧美特黄一片aa大片免费看 | 久久中文精品 | 亚洲精品视频在线播放 | 国产成人亚洲精品影院 | 国产欧美一区二区另类精品 | 午夜影院免费在线观看 | 亚洲高清在线天堂精品 | 一级特黄特黄毛片欧美的 | 一级女人毛片人一女人 | 18欧美同性videos可播放 | 欧美性猛交xxxxx按摩欧美 | 国产香蕉在线精彩视频 | 国产a自拍| 一级一级 a爱片免费视频 | 亚洲国产精品综合福利专区 | 波多野结衣视频在线看 | 午夜dj影院在线观看免费视频中文 | 一区二区三区高清在线 | 国产成人一区二区三区在线播放 | 免费福利在线 | 国产免费人人看大香伊 | 日本xxxⅹ色视频在线观看网站 | 在线a亚洲视频播放在线观看 | 国产精品卡哇伊小可爱在线观看 | 日韩精品一区二三区中文 | 国产xxxxxx久色视频在 | 欧美性bbwbbw | 日韩国产免费一区二区三区 | 成人网久久 | 亚洲视频 中文字幕 | 日韩视频高清 | 国产精品久久久久久久久久久威 |