前回の続き~。コメント欄の改造編です。
色々考えて見ましたが、あんまりゴテゴテしたものは好きじゃないのでシンプル系がいいなぁと。で調べてると、2ちゃんねる風に改造してる方がいたので、それを参考にすることにしましたわ。
2ちゃんねる風!
参考にしたのは下記ブログの記事。かなり参考にさせていただきました!
WordPressのコメント欄を2ちゃんねる風にする+Ajax(pipilog)
手順としては…
comments.phpの修正
functions.phpへの追記
プラグイン2つをダウンロード&設定
大まかにこの3つの工程です。
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!'); if ( post_password_required() ) { ?> <p class="nocomments">This post is password protected. Enter the password to view any comments.</p> <?php return; } ?> <div id="coment_box"> <!-- コメント --> <?php $comments_cnt=get_comment_only_number(); ?> <h3><?php echo $comments_cnt; ?>件のコメント</h3> <?php if ($comments_cnt == 0) { ?> <p>皆様のコメントお待ちしております。</p> <?php } ?> <ul class="commentlist"> <?php wp_list_comments('type=comment&callback=mytheme_comment'); ?> </ul> </div> <div id="commentsform"> <!--ここにフォームのソースが入ります--> </div>
ベースはpipilogさんのソースを参考にして、フォームをデフォルトのものではなく、自分で作成。あと、11~13行目にコメントが0件の時にメッセージが表示できるように分岐条件を追記。
functions.phpへの追記
続いてfunctions.phpの追記。ここはほとんどpipilogさんのブログの通りに作りました。変えたのはデフォルトの名前を【名無しの暗黒闘士久雄さん】にしたこと(爆)それと、投稿者の名前にeメールアドレスではなく、サイトURLをリンクできるようにしたこと。この2点ですね。
wp_list_commentsのループの直したとこだけ抜粋しておきます。
<span class="comment_name"> <?php if ($comment->comment_author_url == true) { echo "<a href=".get_comment_author_url()."'>".get_comment_author()."</a>"; } else { echo get_comment_author(); } ?> </span>
URLを書いた人にはリンクを、書いてない人にはつけないという簡単な分岐のソース。
※11/24追記 コメントを返信する時、自分の名前が入らない!
運用していて気づいたのですが、コメントを返信するときに自分の名前が【名無しの…】となってしまうトラブルが発生。
以前まではちゃんとプロフィールで設定したニックネームになっていたんですが、どうやら、functions.phpの【投稿者名のデフォルトを変更する】の【et_comment_anonymous_name】にif分岐で【自分がログイン状態の時はニックネームを使う】って命令がないのがいけないっぽい。で、色々調べてみて、下記のソースに書き換えたら解決しますた。
<?php // 【comment】デフォルトの名前 function rename_anonymous() { global $comment; if( empty( $comment->comment_author ) ) { if( !empty( $comment->user_id ) ) { $user = get_userdata( $comment->user_id ); $author = $user->user_login; } else { $author = '名無しの暗黒闘士久雄さん'; } } else { $author = $comment->comment_author; } return $author; } add_filter( 'get_comment_author', 'rename_anonymous' ); ?>
これで自分が返信したときに、ちゃんと名前がニックネームになりました。
【Greg’s Threaded Comment Numbering】と【wp-comment-master】
最後に2つのプラグインをダウンロードして設定して完了。
Greg’s Threaded Comment Numbering
こちらのプラグインはコメント数をカウントする奴です。デフォルトのwordpressにはなぜかコメント数が計算できないんで、2chのようにコメント番号をつけるために必要になります。
ダウンロードしてもらうとわかりますが、デフォルトだとcssがfloatかかっていたり無茶苦茶ですw フォルダの中にある【gtcn-css.css】をいじればいいんですが、管理が面倒なんで、このcssは空にして、自分のcssにまとめた方がいいと思われ。
設定画面では最初の3つ
・Show Detailed Options Pages?
・Add Number Styling?
・Strip the Comment Number Wrapper?
をNoにしておきます。
wp-comment-master
こちらのプラグインはAjaxを使って画面を遷移させずに投稿させるもの。エラーメッセージも同じ画面に出せます。つまり以前【prototype.js】でやってた奴の代用です。
コメント数件ごとにタブで切り替え表示とかも出来るみたい。英語なんでよくわからんのですが(爆)
一部jsに修正があるようなので、pipilogさんを参考に。
以上が主な流れ。実際に動作を確認してい方は下のコメント欄を使って見てください。と言っても、承認が発生するんですぐに反映されないんですが(爆)記事ごとに設定できるんだっけかなぁ…? 一応自分でいくつかコメントしておきまっす。
2ちゃんねる完全活用本―ビギナー大歓迎読み方/書き方を手取り足取り教えます (100%ムックシリーズ) マヒマヒプロジェクト 晋遊舎 2006-11 by G-Tools |
↑ブログ村ランキング参加中… クリックよろしゅうm(_ _)m
テストです。
こんなかんじ。
さらなるテスト。そんな予感。
test
11
>>1
test
testawfwa
テスト
ブランドショップよちかは<a href="http://savannahskatepark.com/brand/gucci/" / rel="nofollow">グッチ 財布 メンズ</a>をはじめ、ブランド品を直接海外へ買い付け、お求め安い価格で販売することをモットーとしております。 keercence <a href="http://savannahskatepark.com/brand/gucci/" / rel="nofollow">http://savannahskatepark.com/brand/gucci/</a> ブランドショップよちかは<a href="http://savannahskatepark.com/brand/gucci/" / rel="nofollow">グッチ 財布 メンズ</a>をはじめ、ブランド品を直接海外へ買い付け、お求め安い価格で販売することをモットーとしております。 fraredrizorge <a href="http://savannahskatepark.com/brand/louisvuitton/" / rel="nofollow">ルイヴィトン 店舗</a>
てすと
てすと
4
ああああ
テスt
うほほぉ
>>13
テスト
テストテストテストテストテスト
てst
コメントが表示されない、承認待ち?
すいません!ここ承認制なので、時間がかかってしまって…
どらああ
あたたたったたた!
てすつ
Testtest
くすすす
素敵やん
最大の難関はポップアップ機能か……
あれどうやるんや
fsf
fsfsf
承認待ちのはどう表示されるの?
てすてすと
ほほほ
てすとさせてくださいね
入らない?
すみません、テスト失礼します。
おっすげー
テストさせて下さい
テストです。
tes
ふむ
testes
すげー(テスト)
TEST
あうあうあー
マッドサイエンティスト てすと
てst
参考になりました
( ˘ω˘)
>>1-48
ありがとうございます
矢口真里
焼肉
teスト
tes
参考先ページが削除されてて、このページも参考に出来なくなってる件
a
agrgge
非同期通信テスト
>>1
テスト
test
55
test
55
66
<b>テスト</b>
aaaaaaa
てst
>>59
テスト
1
11111
111111
ほほほほ
fdfd
>>68
アンカーリンクを付けるにはどうしたら良いですか?
testestetsestets
テスト
※70
>>70
まだできるかな?
5555
あ
いけ
だめ?
やばい