• Hallo Gemeinde,
    ich brauche mal wieder euere Hilfe.

    Seite: media-store.net
    Problem:
    Und zwar habe ich mir ein Theme nach Anleitung von Perun.net hier https://workshops.akademie.de/gestalten/desi…kurs/index.html selber gebastelt.
    Soweit funktioniert auch alles, bis auf die Kommentarfunktion!
    Ein Bekannter hat mich informiert, dass die Kommentarfunktion nicht hinhaut.

    Der Kommentarbereich wird soweit auch in der Einzelansicht angezeigt, nur wenn man das Feld ausgefüllt und auf Senden klickt, kriegt man ein Fehler bzw. den Text angezeigt der in der single.php nach Endwhile: aufgeführt wird.

    Wenn ich auf eines der WP eigenen Themes wechsele funktioniert das Kommentieren problemlos, also gehe ich stark davon aus dass der Fehler in meinem Theme bzw. in der comments.php steckt.
    Da ich aber in der WP-Strucktur nicht sonderlich viel Ahnung habe bin ich auf euch angewiesen.

    Da dieser Kurs natürlich schon etwas älter ist, kann es evtl. auch nur wegen der WP-Version sein.

    Folgender Code ist in meiner comments.php

    PHP
    <?php if ( !empty($post->post_password) && $_COOKIE['wp-postpass_' .COOKIEHASH] != $post->post_password) : ?>
    <p>Tippe dein Passwort ein um die Kommentare zu lesen.</p><?php return; endif; ?><h2 id="comments">  <?php comments_number('Keine Kommentare', 'Ein Kommentar', '% Kommentare'); ?>  <?php if ( comments_open() ) : ?>  <a href="#postcomment" title="Hinterlasse ein Kommentar">&raquo; &raquo;</a>  <?php endif; ?></h2><?php if ( $comments ) : ?><ol id="commentlist">  <?php foreach ($comments as $comment) : ?>  <li id="comment-<?php comment_ID(); ?>">    <?php comment_text(); ?>    <p><cite>      <?php comment_type('Kommentar', 'Trackback', 'Pingback'); ?>      von      <?php comment_author_link(); ?>      -      <?php comment_date(); ?>      um <a href="#comment-<?php comment_ID(); ?>">      <?php comment_time(); ?>      </a></cite>      <?php edit_comment_link(); ?>    </p>  </li>  <?php endforeach; ?></ol><?php else : // Es wurden noch keine Kommentare abgegeben ?><p>Bis jetzt noch keine Kommentare</p><?php endif; ?><p>  <?php post_comments_feed_link('RSS-Feed für Kommentare dieses Beitrags'); ?>  <?php if ( pings_open() ) : ?>  - <a href="<?php trackback_url(); ?>" rel="trackback">Die Trackback-Adresse</a>  <?php endif; ?></p><?php if ( comments_open() ) : ?><h2 id="postcomment">Einen Kommentar abgeben</h2><?php if ( get_option('comment_registration') && !$user_ID ) : ?><p><?php printf('Du musst dich <a href="%s">eingeloggen</a> umKommentare abzugeben.', get_option('siteurl')."/wp-login.php?redirect_to=".urlencode(get_permalink()));?></p><?php else : ?><form action="<?php echo get_option('siteurl'); ?>/wp-commentspost.php" method="post" id="commentform">  <?php if ( $user_ID ) : ?>  <p><?php printf('Angemeldet als %s.', '<a href="'.get_option('siteurl').'/wp-admin/profile.php">'. $user_identity.'</a>');?><a href="<?php echo get_option('siteurl'); ?>/wp-login.php?action=logout"title="Ausloggen bzw. Abmelden">Abmelden &raquo;</a></p>  <?php else : ?>  <p>    <input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" />    <label for="author"><small>Name      <?php if ($req) '(erforderlich)'; ?>      </small></label>  </p>  <p>    <input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" />    <label for="email"><small>E-Mail (wird nicht veröffentlicht)      <?php if ($req) '(erforderlich)'; ?>      </small></label>  </p>  <p>    <input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />    <label for="url"><small>Website</small></label>  </p>  <?php endif; ?>  <p>Folgende HTML-Tags sind erlaubt: <code><?php echo allowed_tags(); ?></code>.</p>  <p>    <textarea name="comment" id="comment" cols="55" rows="12"tabindex="4"></textarea>  </p>  <p>    <input name="submit" type="submit" id="submit" tabindex="5"value="<?php echo attribute_escape(__('Submit Comment')); ?>" />    <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />  </p>  <?php do_action('comment_form', $post->ID); ?></form><?php endif; // Ende: wenn Registrierung erforderlich, aber man nicht eingeloggt ist ?><?php else : // Kommentare sind geschlossen ?><p>Tut mir Leid, aber die Kommentar-Funktion ist momentan  deaktiviert.</p><?php endif; ?>

    Das hier steht in der single.php

    PHP
    <?php get_header(); ?>
    <div id="main">  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>  <h2> <a href="<?php the_permalink(); ?>" rel="bookmark" title="Zum Beitrag: <?php the_title(); ?>">    <?php the_title(); ?>    </a> </h2>  <div class="der-beitrag">    <?php the_content(); ?>  </div>  <!-- Ende des jeweiligen Beitrags -->    <div class="beitrags-info2">    <dl>      <dt>Kategorien:</dt>      <dd>        <?php the_category(', ') ?>        &nbsp;</dd>      <dt>Tags:</dt>      <dd>        <?php the_tags('', ', ', ''); ?>        &nbsp;</dd>      <dt>Kommentare:</dt>      <dd>        <?php comments_rss_link('Kommentare verfolgen'); ?>        oder ein <a href="#respond" rel="nofollow">Kommentar abgeben</a></dd>    </dl>  </div>  <!-- Ende .beitrags-info2 -->    <p class="center">    <?php previous_post_link('%link','&laquo;&laquo; Zum vorherigen Beitrag'); ?>    &nbsp;&mdash;&nbsp;    <?php next_post_link('%link','Zum nächstenBeitrag &raquo;&raquo;'); ?>  </p>  <div id="respond">  <?php comments_template(); /* Der Kommentarbereich */ ?>  </div>  <?php endwhile; else: ?>  <p>Tut mir leid, es wurde kein passender Inhalt gefunden. Um nach Inhalten zu suchen, versuch es mit der Suchfunktion. </p>  <?php endif; ?>  <p class="blaetern">    <?php posts_nav_link(' - ', '« Zurück','Weiter »'); ?>  </p></div><!-- /#inhalt -->
    <?php get_sidebar(); ?><?php get_footer(); ?>

    Hoffe mir kann jemand auf die Spur helfen...

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo aturo

    Ich steige bei deiner comments.php nicht ganz durch :confused:
    Was ich aber einmal ändern würde ist:

    PHP
    <form action="<?php echo get_option('siteurl'); ?>/wp-commentspost.php" method="post" id="commentform">


    ändern in

    PHP
    <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">


    denn WP arbeitet standardmässig mit der wp-comments-post.php -> eine wp-commentspost.php gibt es gar nicht.
    Durch diese Änderung kommt es wenigstens zu keinem 404er.

    Woher hast du denn den Code??

    Und nochwas - Sieh dir bitte nochmals deine header.php genau an -> der Quelltext ist da nicht sauber:


    Zwei Hinweise dazu:
    - nicht richtig auskommentiert
    - ID's dürfen nur einmal pro ausgeliefertem html Dokument vorkommen -> sonst verwende Klassen

    Noch was:
    Ist dir schon aufgefallen, dass deine Seite einen horizontalen Scrollbalken besitzt? Bzw. eine immense Breite aufweist?
    Das liegt daran:
    Stylesheet Zeile 109ff


    Dadurch wird der Text "Media-Store.net – das Blog" soweit eingezogen, dass er schon wieder weit, weit rechts aus der Seite gedrückt wird.

    Vermutung: du wolltest keinen Blogtitel/Namen und stattdessen ein Logo. Das Logo hast du dann via CSS eingebunden und die Schrift (da sie sonst stört) einfach nach aussen verschoben.
    Besser wäre es, du entfernst den Blogtitel/Namen aus der header.php, entfernst das logo aus der style.css und setzt es direkt in die header.php ein. Dadurch kannst du dann auch das Logo richtig via href mit der Startseite verknüpfen - was ja bei per css eingebundenen Elementen (noch?) nicht funktioniert.

    LG
    pixselig

    PS: ich würde dir dringend raten, dass Design der Seite nochmals gründlich zu überarbeiten. Denn es sieht so aus, als hättest du sämtliche html-/css-Scripten aus den 90igern in einer Seite vereint.

    Einmal editiert, zuletzt von pixselig (4. Oktober 2013 um 15:58)

  • Hallo Pixelig, danke für dein Feedback.

    Zitat

    [COLOR=#333333]ändern in[/COLOR]
    [COLOR=#333333]PHP-Code:
    [COLOR=#000000]<form action="[COLOR=#0000BB]<?php [/COLOR][COLOR=#007700]echo [/COLOR][COLOR=#0000BB]get_option[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'siteurl'[/COLOR][COLOR=#007700]); [/COLOR][COLOR=#0000BB]?>[/COLOR]/wp-comments-post.php" method="post" id="commentform">[/COLOR]
    [/COLOR]
    [COLOR=#333333]denn WP arbeitet standardmässig mit der wp-comments-post.php -> eine wp-commentspost.php gibt es gar nicht.[/COLOR]
    [COLOR=#333333]Durch diese Änderung kommt es wenigstens zu keinem 404er.[/COLOR]

    [COLOR=#333333]Woher hast du denn den Code??[/COLOR]


    Du hattest recht da hat nur der bindestrich gefehlt.:!:
    Den Code habe ich eben aus diesem Kurs von perun.net wie man ein eigenes Theme erstellt.

    Zitat

    [COLOR=#333333]PS: ich würde dir dringend raten, dass Design der Seite nochmals gründlich zu überarbeiten. Denn es sieht so aus, als hättest du sämtliche html-/css-Scripten aus den 90igern in einer Seite vereint.[/COLOR]


    Normalerweise benutze ich 2012 als Theme, hier ging es mir Primär darum ein eigenes Theme aus einer HTML-Vorlage auf die Beine zu stellen, um die WP-Strucktur langsam zu verinnerlichen und PHP zu üben.;-)

    Danke nochmal für deine Hilfe!
    Das Finale-Theme wird definitiv anders.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!