Einzelne Funktionen "entführen"

  • Hallo!

    Ich habe eine bestehende Internetseite und da es zu viel Arbeit machen würde, die hganzen Unterseiten neu in Wordpress zu schreiben und die Bilder alle neu zu formatieren, wollte ich erst einmal einige Funktionen in die bestehenden Seiten integrieren, weil das schneller geht.

    Wie das mit der Sidebar geht, habe ich Dank dieses Forums schon heraus gefunden aber nun hätte ich gern noch die Kommentarfunktion so entführt, dass auf der WP-fremden PHP-Seite angezeigt wird, wenn es Kommentare gibt, wieviel es sind. Klickt man dann da drauf, erscheint wie bei WP auch ein Eingabefeld für den Kommentar und klickt man auf die Kommentare, gelangt man zu ihnen. Schön wäre es, wenn das alles ohne neue Seite geschieht - also auf dieser externen Seite.

    Geht das irgendwie?

    LG Martin

    • 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

  • Okay, danke - habe ich gemacht. Und nun nehme ich an, dass ich die Kommentarfunktion selbst ja auch mit einem Codeschnipsel in die Seite einbinden muss?

  • Hm, habe ich versucht. Zuerst im Hauptverzeichnis (WP liegt im Unterordner) und da kommt da, wo ich den Code eingefügt habe:

    Zitat


    Fatal error: Call to undefined function comments_template() in /var/www/vhosts/city-gate.net/subdomains/heiligendamm/httpdocs/gtest2.php on line 114

    Danach ist der Rest der Seite abgeschnitten.

    (Link: Heiligendamm. Zeit am Meer. Geschichte und Chronik Heiligendamms, des ersten deutschen Seebades.)

    Dann dachte ich mir nach der Fehlersuche mit Google, dass es vielleicht daran liegt, dass ich die Datei außerhalb des WP-Ordners abgelegt habe. Ich habe sie dann in den WP-Ordner geschoben und hier erhalte ich beim Aufruf dieses:

    Zitat


    [FONT=Arial][size=10]Fatal error: Call to undefined function language_attributes() in /var/www/vhosts/city-gate.net/subdomains/heiligendamm/httpdocs/zeit-am-meer/header.php on line 2[/SIZE][/FONT]

    (Link: Heiligendamm. Zeit am Meer. Geschichte und Chronik Heiligendamms, des ersten deutschen Seebades.)

    Habe ich da noch etwas übersehen?

    Oder der erste Code nicht in den Body gedurft, sondern schon davor? Der da:

    [LEFT] [COLOR=#000000] [COLOR=#0000CC]<?php [/COLOR][COLOR=#006600]include [/COLOR][COLOR=#CC0000]'/path/to/wordpress/wp-blog-header.php'[/COLOR][COLOR=#006600]; [/COLOR][COLOR=#0000CC]?>)[/COLOR] [/COLOR] [/LEFT]

  • [LEFT] [COLOR=#000000] [COLOR=#0000CC]<?php [/COLOR][COLOR=#006600]include [/COLOR][COLOR=#CC0000]'/path/to/wordpress/wp-blog-header.php'[/COLOR][COLOR=#006600]; [/COLOR][COLOR=#0000CC]?>)[/COLOR] [/COLOR] [/LEFT]


    Das muss ganz an den Anfang, bevor irgendeine Ausgabe an den Browser geschickt wird. Und du musst natürlich den Pfad an deine Umgebung anpassen!

  • Dachte ich es mir. Wollte nur nicht alles durcheinander würfeln und dann den Überblick über die Versuche verlieren, darum fragte ich lieber erst.

    Also bis zum head sieht es jetzt so aus:

    PHP
    <?php include 'http://heiligendamm.city-gate.net/zeit-am-meer/wp-blog-header.php'; ?>
    <?php
    header('Content-Type: text/html;charset=utf-8');
    ?>
    <html>
    
    
    <head>

    Aber die Fehlermeldung bleibt. Muss ich hier auch noch einen Pfad vor setzen, weil die Datei nicht im selben Ordner liegt, wie die wp-blog-header? Wenn ja, wie hat das denn auszusehen?

    PHP
    <?php comments_template(); ?>
  • Also bis zum head sieht es jetzt so aus:

    PHP
    <?php include 'http://heiligendamm.city-gate.net/zeit-am-meer/wp-blog-header.php'; ?>
    <?php
    header('Content-Type: text/html;charset=utf-8');
    ?>
    <html>
    
    
    <head>


    Include erwartet einen Serverpfad, keine URL (zumindest kann das Includen von URLs von der Konfiguration nicht erlaubt sein).

    Zitat

    Aber die Fehlermeldung bleibt. Muss ich hier auch noch einen Pfad vor setzen, weil die Datei nicht im selben Ordner liegt, wie die wp-blog-header? Wenn ja, wie hat das denn auszusehen?


    Natürlich nicht, Funktionen kennen keinen Pfad. (Um Namespaces werden erst in künftigen PHP-Versionen eingeführt ;-)). Dein Fehler ist vermutlich einzig und alleine der falsche Pfad oben. Teste den doch einfach, indem du eine WP-Konstante aus der wp-config.php ausgeben lässt.

    Achja, schau ob alle Fehlermeldungen ausgegeben werden. Wenn das Includieren nicht klappt dann wird sicher eine Fehlermeldung geworfen (öffentlich oder error.log).

  • Ach der liebe Serverpfad. Das hat nun geklappt.

    Aber ich habe wohl einen Denkfehler. Ich habe den Befehl einfach mal unter einem Absatz in der Seite eingebaut und da steht nun "Kommentarfunktion deaktiviert". Irgend etwas sagt mir, dass ich falsch nachgedacht habe aber ich komme nicht drauf - Gib mir mal ein Stichwort bitte.

    LG Martin

  • Achso, sorry:

  • Okay. Du weißt sicher, dass Kommentare in WP immer einer Seite oder einem Artikel zugeordnet sind. Also musst du für deine Kommentare eine (Dummy-)Seite bzw. -Artikel anlegen und diese in deine Seite holen. dann kannst du das Kommentartemplate zu dieser Seite holen. Etwa so:

    PHP
    <?php
    query_posts('p=123'); // Post für Kommentare holen
    the_post(); // Post laden
    comments_template();
    ?>


    "123" ist dabei die ID deines Artikels, für eine Seite musst du statt "p" "page_id" schreiben. Mehr hier:
    Template Tags/query posts WordPress Codex

    So müsste es eigentlich klappen. (Das oben ist übrigens eine sehr knappe Variante der WP-Artikelschleife, des sog. "Loop". ;))

  • Funktioniert wunderbar, dankeschön.

    Ob sich das nun noch so gestalten lässt, dass nicht alle Kommentare untereinander angezeigt werden, sondern sie sich ausklappen lassen oder auf eine bestimmte Höhe abgeschnitten und scrollbar sind? Die Seite ist so schon viel zu lang, sodass ich sie in Jahre unterteilen werde aber mit Kommentaren könnten selbst die Einzelseiten noch zu lang werden:

    Heiligendamm. Zeit am Meer. Kontroverse. Die ffentliche Diskussion zu Heiligendamm. - ffentlichkeit in Heiligendamm.

  • Hat alles funktioniert, vielen Dank.

    EDIT: WEITERE FRAGE HAT SICH GERADE ERLEDIGT - HAB ES SELBST HINGEKRIEGT.

    Einmal editiert, zuletzt von dossi (12. Juni 2009 um 17:33)

Jetzt mitmachen!

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