Tigratrus |
06-19-2009 01:28 PM |
Ok... I remember going around and around on this one when we first started using Wordpress with our vBulletin system, but now I'm going to try again to get the details working right :).
We're using a custom template for WP based on a Revolution Code Blue template. I've upgraded to the latest files from this thread, and everything is working right with the exception of the comment integration. Thread is being crated as it should, with the right size (excerpt) and the link back to the WP entry from the thread.
But there's no link from the wordpress entry TO the thread, and my attempts to integrate vB as the comment engine has thus far been a total failure.
This is what the comments.php looks like before I did anything to it:
Code:
<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');
if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
<p class="nocomments">This post is password protected. Enter the password to view comments.<p>
<?php
return;
}
}
/* This variable is for alternating comment background */
$oddcomment = 'alt';
?>
<!-- You can start editing here. -->
<div id="commentblock">
<?php if ($comments) : ?>
<h4><?php comments_number('No Comments', 'One Comment', '% Comments' );?> on <?php the_title(); ?></h4>
<ol>
<?php foreach ($comments as $comment) : ?>
<div class="commentleft">
<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
<?php comment_author_link() ?> on
<?php if ($comment->comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?>
<?php comment_date('D, jS M Y') ?> <?php comment_time() ?> <?php edit_comment_link('(Edit)','',''); ?><br />
<?php echo get_avatar( $comment, $size = '50', '' ); ?>
</div>
<div class="commentright">
<?php comment_text() ?>
</div>
<div style="border-bottom:1px dotted #999999; margin-bottom:20px; padding:0px 0px 10px 0px; clear:both;"></div>
</li>
<?php endforeach; /* end for each comment */ ?>
</ol>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status) : ?>
<!-- If comments are open, but there are no comments. -->
<?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
<?php endif; ?>
<?php endif; ?>
<div style="clear:both;"></div>
<?php if ('open' == $post->comment_status) : ?>
<p id="respond"><b>Tell me what you're thinking...</b></p>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p>
<?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( $user_ID ) : ?>
<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p>
<?php else : ?>
<p><label for="name">Name <?php if ($req) echo "(required)"; ?></label><br />
<input type="text" name="author" id="name" value="<?php echo $comment_author; ?>" size="50" tabindex="1" /></p>
<p><label for="email">Email Address <?php if ($req) echo "(required)"; ?></label><br />
<input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="50" tabindex="2" /></p>
<p><label for="url">Website</label><br />
<input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="50" tabindex="3" /></p>
<?php endif; ?>
<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->
<p><label for="words">Speak your mind</label><br /><textarea name="comment" id="words" cols="40" rows="10" tabindex="4"></textarea></p>
<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
<?php endif; // if you delete this the sky will fall on your head ?>
</div>
And this was my attempt to make it work, though I didn't try to do the author link yet:
Code:
<?php // Do not delete these lines
if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
die ('Please do not load this page directly. Thanks!');
if (!empty($post->post_password)) { // if there's a password
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
?>
<p class="nocomments">This post is password protected. Enter the password to view comments.<p>
<?php
return;
}
}
/* This variable is for alternating comment background */
$oddcomment = 'alt';
?>
<!-- You can start editing here. -->
<?php
#### Vbridge Replacement code for comments
if (function_exists('Comment_Handler')) {
$vbridge = Comment_Handler($post->ID);
global $vbulletin;
}
if ($vbridge[id] > 0) {
?>
<div class="comments">
<?php
if(is_single()) {
if (is_array($vbridge[replies])) {
?>
<br /><br />
<h3 id="comments">Comments:</h3>
<ol class="commentlist">
<?php
foreach ($vbridge[replies] as $reply) {
?>
<li style="" class="comment byuser comment-author- bypostauthor even thread-even depth-1" id="comment-<?php echo $reply['postid'] ?>">
<div id="div-comment-<?php echo $reply['postid'] ?>">
<div class="comment-author vcard">
<img src="<?php echo get_option('vbb_VBURL') ?>/image.php?u=<?php echo $reply['userid'] ?>&dateline=<?php echo TIMENOW ?>" alt="<?php echo $reply['username'] ?>'s Avatar" class="avatar avatar-32 photo avatar-default" width="32" height="32">
<a href=<?php echo get_option('vbb_VBURL') ?>/member.php?u=<?php echo $reply['userid'] ?>><?php echo $reply['username'] ?></a>
<span class="says">says:</span>
</div>
<div class="comment-meta commentmetadata"><a href="<?php echo get_option('vbb_VBURL') ?>/showthread.php?p=<?php echo $reply['postid'] ?>"><?php echo vbdate($vbulletin->options['dateformat'],$reply['dateline']) . ' ' . vbdate($vbulletin->options['timeformat'],$reply['dateline']) ?></a></div>
<p style=""><?php echo $vbridge[vb_parser]->do_parse($reply[pagetext], false, true); ?></p>
</div>
</li>
<?php
}
?>
</ol>
<a href=<?php echo get_option('vbb_VBURL') ?>/showthread.php?t=<?php echo $vbridge[id] ?>>(<?php echo intval($vbridge[count]) ?>) comments</a> | <a href=<?php echo get_option('vbb_VBURL') ?>/newreply.php?do=newreply&noquote=1&t=<?php echo $vbridge[id] ?>>Add your comments</a>
</div>
<?php
}
}
}
##End Vbridge Replacement
?>
<div id="commentblock">
<?php if (($comments) and ($vbridge[id] == '')) : ?>
<h4><?php comments_number('No Comments', 'One Comment', '% Comments' );?> on <?php the_title(); ?></h4>
<ol>
<?php foreach ($comments as $comment) : ?>
<div class="commentleft">
<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
<?php comment_author_link() ?> on
<?php if ($comment->comment_approved == '0') : ?>
<em>Your comment is awaiting moderation.</em>
<?php endif; ?>
<?php comment_date('D, jS M Y') ?> <?php comment_time() ?> <?php edit_comment_link('(Edit)','',''); ?><br />
<?php echo get_avatar( $comment, $size = '50', '' ); ?>
</div>
<div class="commentright">
<?php comment_text() ?>
</div>
<div style="border-bottom:1px dotted #999999; margin-bottom:20px; padding:0px 0px 10px 0px; clear:both;"></div>
</li>
<?php endforeach; /* end for each comment */ ?>
</ol>
<?php else : // this is displayed if there are no comments so far ?>
<?php if ('open' == $post->comment_status and ($vbridge[id] == '')) : ?>
<!-- If comments are open, but there are no comments. -->
<?php else : // comments are closed ?>
<!-- If comments are closed. -->
<p class="nocomments">Comments are closed.</p>
<?php endif; ?>
<?php endif; ?>
<div style="clear:both;"></div>
<?php if ('open' == $post->comment_status) : ?>
<p id="respond"><b>Tell me what you're thinking...</b></p>
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>You must be <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">logged in</a> to post a comment.</p>
<?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( $user_ID ) : ?>
<p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout" title="Log out of this account">Logout »</a></p>
<?php else : ?>
<p><label for="name">Name <?php if ($req) echo "(required)"; ?></label><br />
<input type="text" name="author" id="name" value="<?php echo $comment_author; ?>" size="50" tabindex="1" /></p>
<p><label for="email">Email Address <?php if ($req) echo "(required)"; ?></label><br />
<input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="50" tabindex="2" /></p>
<p><label for="url">Website</label><br />
<input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="50" tabindex="3" /></p>
<?php endif; ?>
<!--<p><small><strong>XHTML:</strong> You can use these tags: <?php echo allowed_tags(); ?></small></p>-->
<p><label for="words">Speak your mind</label><br /><textarea name="comment" id="words" cols="40" rows="10" tabindex="4"></textarea></p>
<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; // If registration required and not logged in ?>
<?php endif; // if you delete this the sky will fall on your head ?>
</div>
Off the top of my head I'm guessing that maybe it's a problem with Comment_Handler()?
Anyway, any help/guidance would be greatly appreciated!
James and Susan
|