Hallo,
ich habe seit einigen Tagen meine Webseite mit einem neuen Design online gesetzt. Die User sollen natürlich unter den News auch kommentieren dürfen. Jetzt ist das Problem, dass die Kommentarfunktion nur aktiv ist, wenn bereits ein Kommentar bei einer News vorhanden ist. Ist noch keins vorhanden, wird die komplette comments.php ignoriert.
Die comments.php sieht so aus:
PHP
<?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
?>
<h2><?php _e('Diese Seite ist mit einem Passwort geschützt'); ?></h2>
<p><?php _e('Gib das Passwort ein, um die Kommentare zu sehen'); ?></p>
<?php return;
}
}
/* This variable is for alternating comment background */
$oddcomment = 'alt';
?>
<!-- You can start editing here. -->
<?php if ($comments) : ?>
<h3 class="comments"><?php comments_number('Keine Kommentare', 'Ein Kommentar', '% Kommentare' );?> zu “<?php the_title(); ?>”</h3>
<?php if ('open' == $post->comment_status) : ?>
Eure Kommentare sind herzlich willkommen! Bitte beachtet jedoch unsere Richtlinien für die Kommentare.
<?php if ( get_option('comment_registration') && !$user_ID ) : ?>
<p>Du musst <a href="<?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>">eingeloggt</a> sein, um ein Kommentar zu posten.</p>
<?php else : ?>
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
<?php if ( $user_ID ) : ?>
<p>Eingeloggt als <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><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="40" tabindex="1" />
<label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>
<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="40" tabindex="2" />
<label for="email"><small>E-Mail (wird nicht veröffentlicht) <?php if ($req) echo "(required)"; ?></small></label></p>
<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="40" tabindex="3" />
<label for="url"><small>Website</small></label></p>
<?php endif; ?>
<!--<p><small><strong>XHTML:</strong> <?php _e('Du kannst folgende Tags benutzen:'); ?> <?php echo allowed_tags(); ?></small></p>-->
<p><textarea name="comment" id="comment" cols="60" rows="10" tabindex="4"></textarea></p>
<p><input name="submit" type="submit" id="submit" tabindex="5" value="Abschicken" />
<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 ?>
<ol class="commentlist">
<?php foreach ($comments as $comment) : ?>
<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>">
<div class="commentmetadata">
<?php echo get_avatar( $comment, 50, 'http://www.isims.biz/de/bilder/avatar.jpg' ); ?>Geschrieben <?php _e('am'); ?> <a href="#comment-<?php comment_ID() ?>" title=""><?php comment_date('d.m.Y') ?> <?php _e('um');?> <?php comment_time() ?></a> | <?php edit_comment_link('Kommentar bearbeiten','',''); ?> <br /> <div style="font-size:18px; color: #709c2b"><?php comment_author(); ?></div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Ihr Kommentar wird überprüft'); ?></em>
<?php endif; ?>
</div>
<div style="font-family:Arial; font-size: 13px"><?php comment_text() ?></div>
</li><div class="clear"></div>
<?php /* Changes every other comment to a different class */
if ('alt' == $oddcomment) $oddcomment = '';
else $oddcomment = 'alt';
?>
<?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">Die Kommentare sind in dieser News geschlossen.</p>
<?php endif; ?>
<?php endif; ?>
<?php endif; // if you delete this the sky will fall on your head ?>
Alles anzeigen
Demonstration:
Eine News mit Kommentar: http://isims.biz/se/?p=1594#comment-38
News ohne Kommentar: http://isims.biz/se/?p=2117
Liebe Grüße und Danke für Hilfe!