サポート » 使い方全般 » トラックバックの表示について

  • 参考にさせていただいております。
    トラックバック表示の件でいくつか。

    1点目。
    MTでよく各エントリーの下あたりにある
    コメント:(0) トラックバック:(1)
    というような表現を行いたいです。
    コメントはデフォルトテンプレート(テーマ?)に最初から用意されているようで
    <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
    こんなのをいれることで表示できました。
    が、同様のトラックバックのものがないんです。これってデフォルトでは無いのでしょうか。
    タグも追ってみましたが、コメントは豊富にあるものの、トラックバック絡みのそれは、2つしか並んでいません。
    ずいぶんと差があるな~という印象でした。
    コメントと比べると機能が軽薄なのでしょうか。

    2点目。
    よく個別ページのコメント一覧のようなトラックバック一覧の表示がしたいのですが、見当たりません。
    タグの並び替えでなんとかなるものなのか、プラグインが必要なのか、見出せません。
    表示する方法、ヒントをいただきたいです。

    3点目。
    一応適当なエントリーのトラバURLをひろって、トラックバックしてみると、登録したメールアドレスに通知がきました。
    これはトラックバックされているorトラックバックに成功しているということで良いでしょうか。
    実際、表示ができていないので、できているのか否かもわからないのですが。

    4点目。
    管理画面にトラックバックを管理する機能が見当たらないのですが、どこかにあるのでしょうか。

    上記を調べていると「コメントとトラックバックを分けて表示する」という記事にあたることが多く、
    やってみたいところですが、それ以前にトラックバック自体が表示されない(できない?)ので、困っております。
    どれも初歩の疑問だと思いますが、お力添えいただけないでしょうか。

    どうぞよろしくお願いします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    WordPress は、コメントフォームの返信、トラックバック、ピンバックをすべて「コメント」としてまとめて扱います。トラックバックだけを特別扱いはしていません。

    テーマによっては、分離して表示することも可能ですが、標準のテンプレートタグでは分離はしていません。

    したがって、「トラックバックを表示していない」のではなく、「コメントを分離をしていない」のが正解です。

    トピック投稿者 narumi

    (@narumi)

    lilyfanさま

    ありがとうございます!

    いただいたご回答は1点目へのものですね。
    トラバとコメントがいっしょくたんに表示されるのが、デフォルトだと解釈できました。

    2点目、コメント一覧、トラバ一覧の件。

    3点目、トラバされているか否かの件。

    4点目、管理画面におけるトラックバックを管理する機能の件。

    はいかがでしょうか。
    可能であれば、ご意見などいただけるとうれしいです。

    分割表示は出来ます。
    Trackping Separatorと言うプラグインを使って
    以下のタグを使えば2つに分けることが出来ます。
    <a href="<?php comments_link(); ?>" title="Comment" class="commentlink"><?php comments_number('コメント (0)', 'コメント (1)', 'コメント (%)'); ?></a> / <a href="<?php the_permalink() ?>#trackbacks" title="Trackback" class="trackbacklink">トラックバック (<?php echo trackpings('count'); ?>)</a>

    コメントとトラックバックの表示の分割は以下のページを参照してください。
    http://kan2.jp/2007/05/06/wp-comments-php/

    サイドバーでの分割表示は以下のページを参照してください。
    http://kan2.jp/2007/05/06/commented-entry-list/

    トラックバックでメールが来た件に関しては
    内容を読んでみないことにはなんとも言えないです。

    実際に掲載しましたか認証してくださいか
    ブログの設定によって異なるためです。

    該当記事にトラックバックが掲載されていなかったら
    認証してくださいと言うことになります。

    lilyfanさんも書かれている通り
    WordPressではコメントとトラックバックの区別がありません。
    管理画面もコメントの管理で全て管理します。

    トピック投稿者 narumi

    (@narumi)

    ご親切にありがとうございます!

    ご提示いただいたURLですが、
    http://tekapo.com/st/2005/04/29/separating-trackbacks-comments/
    のリンク先がないようなので、
    http://www.koikikukan.com/archives/cat_144.php
    のcomment.phpを使わせてもらいました。

    ただ、index.phpでトラバ~件と表示されますし、管理画面上でもコメントの部分にトラバの内容がリストされていますので、
    トラバ自体は成功しているようですが、comments.phpだとそのトラバの内容が表示されません。

    comment.phpの該当するであろう箇所は以下だと思うのですが、

    <?php if (trackpings('count') != '(0)') { ?>
    <h3 class="comments-head">Trackbacks</h3>
    <div class="tarckbacktlist">
    <?php foreach ($comments as $comment) : ?>
    <? if ($comment->comment_type == "trackback" || $comment->comment_type == "pingback" || ereg("<pingback />", $comment->comment_content) || ereg("<trackback />", $comment->comment_content)) { ?>
        <div id="comment-<?php comment_ID() ?>" class="comment">
            <div class="comment-content"><?php comment_text() ?></div>
            <p class="comment-footer"><?php comment_type(__('Comment'), __('Tracked'), __('Pingbacked')); ?> <?php _e('on'); ?> <a href="#comment-<?php comment_ID() ?>"><?php comment_date('Y.m.j') ?> <?php comment_time() ?></a> <?php _e('by'); ?> <?php comment_author_link() ?> <?php if ( $user_ID ) : ?> | <?php edit_comment_link('edit','',''); ?><?php endif; ?>
    
        </div>
    	<? } ?>
    <?php endforeach; ?>
    </div>
    <? } ?>

    の部分がごっそり抜けます。(表示されません)

    ちなみにcomments.phpに
    トラックバック (<?php echo trackpings('count'); ?>)
    と入れるとちゃんとトラバの件数も表示されます。

    考えられる原因はありますでしょうか。
    承認待ちが0なので、表示されておかしくないのですが。。。

    WordPressではコメントとトラックバックの区別がありません。

    なるほど。
    いろいろググっていると、MTあがりの方はここで戸惑うケースが散見されましたが、意味がわかりました。
    個人的には管理画面上でもっと両者の判別をもっと解りやすくできるといいなと思いました。

    ごめんなさい
    他人のソースを分析するのは今ちょっと時間が取れないので
    自分のところのcomments.phpを記載します。
    それで自分なりに勉強されてみてはいかがでしょうか?

    大変無責任な回答になってしまって申し訳ないのですが・・・
    ソースを読んで勉強するのも大事なことなので!!

    <p><?php _e('TrackBack <abbr title="Universal Resource Locator">URL</abbr>'); ?> <br /> <?php trackback_url() ?></p>
    <?php if ( !empty($post->post_password) && $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) : ?>
    <p><?php _e('Enter your password to view comments.'); ?></p>
    <?php return; endif; ?>
    
    <h2 id="comments">トラックバック
    <hr>
    <?php listtrackpings('trackback'); ?>
    <?php if ( comments_open() ) : ?>
    	<a href="#postcomment" title="<?php _e("Leave a comment"); ?>">&raquo;</a>
    <?php endif; ?>
    </h2>
    
    <? // Begin Comments & Trackbacks ?>
    <?php if ( $comments ) : ?>
    
    <? // Begin Trackbacks ?>
    <?php foreach ($comments as $comment) : ?>
    	<? if ($comment->comment_type == "trackback" || $comment->comment_type == "pingback" || ereg("<pingback />", $comment->comment_content) || ereg("<trackback />", $comment->comment_content)) { ?>
    
    	<? if (!$runonce) { $runonce = true; ?>
    	<h2 id="trackbacks">トラックバック & ピンバック</h2>
    	<ol id="trackbacklist">
    	<? } ?>
    
    	<li id="comment-<?php comment_ID() ?>">
    	<?php comment_text() ?>
    	<p> <pre><?php listtrackpings('', '<li id="trackback-%id"><a href="%url">%origin</a>(%date)<br />%content</li>'); ?></pre> <?php edit_comment_link(__("Edit This"), ' |'); ?></p>
    	</li>
    
    	<? } ?>
    <?php endforeach; ?>
    <? if ($runonce) { ?>
    </ol>
    <? } ?>
    <? // End Trackbacks ?>
    
    <br />
    
    <? // Begin Comments ?>
    <h2 id="comments">コメント</h2>
    <ol id="commentlist">
    <?php foreach ($comments as $comment) : ?>
    	<? if ($comment->comment_type != "trackback" && $comment->comment_type != "pingback" && !ereg("<pingback />", $comment->comment_content) && !ereg("<trackback />", $comment->comment_content)) { ?>
    
    		<li id="comment-<?php comment_ID() ?>">
    		<?php comment_text() ?>
    		<p><cite><?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e('by'); ?> <?php comment_author_link() ?> — <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a></cite> <?php edit_comment_link(__("Edit This"), ' |'); ?></p>
    		</li>
    
    	<? } ?>
    <?php endforeach; ?>
    </ol>
    <? // End Comments ?>
    
    <?php else : // If there are no comments yet ?>
    	<p><?php _e('No comments yet.'); ?></p>
    <?php endif; ?>
    
    <p><?php comments_rss_link(__('<abbr title="Really Simple Syndication">RSS</abbr> feed for comments on this post.')); ?>
    <?php if ( pings_open() ) : ?>
    	<a href="<?php trackback_url() ?>" rel="trackback"><?php _e('TrackBack <abbr title="Uniform Resource Identifier">URI</abbr>'); ?></a>
    <?php endif; ?>
    </p>
    
    <?php if ( comments_open() ) : ?>
    <h2 id="postcomment"><?php _e('Leave a comment'); ?></h2>
    
    <p><?php _e("Line and paragraph breaks automatic, e-mail address never displayed, <acronym title=\"Hypertext Markup Language\">HTML</acronym> allowed:"); ?> <code><?php echo allowed_tags(); ?></code></p>
    
    <form action="<?php echo get_settings('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
    
    	<p>
    	  <input type="text" name="author" id="author" class="textarea" value="<?php echo $comment_author; ?>" size="28" tabindex="1" />
    	   <label for="author"><?php _e('Name'); ?></label> <?php if ($req) _e('(required)'); ?>
    	<input type="hidden" name="comment_post_ID" value="<?php echo $post->ID; ?>" />
    	<input type="hidden" name="redirect_to" value="<?php echo wp_specialchars($_SERVER['REQUEST_URI']); ?>" />
    	</p>
    
    	<p>
    	  <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="28" tabindex="2" />
    	   <label for="email"><?php _e('E-mail'); ?></label> <?php if ($req) _e('(required)'); ?>
    	</p>
    
    	<p>
    	  <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="28" tabindex="3" />
    	   <label for="url"><?php _e('<acronym title="Uniform Resource Identifier">URI</acronym>'); ?></label>
    	</p>
    
    	<p>
    	  <label for="comment"><?php _e('Your Comment'); ?></label>
    	<br />
    	  <textarea name="comment" id="comment" cols="60" rows="4" tabindex="4"></textarea>
    	</p>
    
    	<p>
    	  <input name="submit" id="submit" type="submit" tabindex="5" value="<?php _e('Say It!'); ?>" />
    	</p>
    
    	<?php do_action('comment_form', $post->ID); ?>
    </form>
    
    <?php else : // Comments are closed ?>
    <p><?php _e('Sorry, the comment form is closed at this time.'); ?></p>
    <?php endif; ?>
    トピック投稿者 narumi

    (@narumi)

    kannomonookiさま
    ありがとうございます!

    いただいたソースをそのまま貼り付けたところ、表示されました!

    実は自分でもいろいろと探して、
    http://lab.christianmontoya.com/wordpress-comments/comments.phps
    を見つけたのですが、これを貼り付けてもトラックバック部分はなぜか表示されず、困ってました。

    phpがわからないなりに一応ソースはあらって
    ここからここまでは~をしてるんだなくらいは把握しつつ作業していますので、
    とりあえず表示できたことで、必要な要素はそろえることができました。
    見た目の体裁調整はなんとかできますので、とても助かりました。

    またお世話になるかと思いますが、
    お付き合いいただけると心強いです。

    でも、なぜ表示されなかったのかは、よくわからず。。。。

    トピック投稿者 narumi

    (@narumi)

    kannomonookiさま
    いただいたソースですが、検証したところピンバックの表示部分が機能しませんでした。
    管理画面上にはピンバックした記事がコメント部分に載っていますので、
    ピンバックされていると思うのですが。。。

    ちなみに、処理結果から「トラックバック & ピンバック」の部分ではなく、
    「トラックバック」の部分が表示されている感じでした。
    kannomonookiさまの環境では、ピンバックは機能しておりますか。

    トラックバックは機能していますし、
    ピンバックされるケースはそれほどないので、影響は薄いのですが、
    考えられる原因などありましたら、ご助言いただけないでしょうか。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「トラックバックの表示について」には新たに返信することはできません。