Hallo zusammen
Für alle die Wordpress einbinden möchten inkl. Kommentarfunktion.
Ich habe es mit folgenden Anpassungen in Wordpress geschafft, dass die Wordpress-Kommentarfunktion auch in der Oxid-Ansicht klappt:
Anmerkung vom 17.6.2014: Den untenstehenden Lösungsweg könnt ihr vergessen - ich habe eine viel einfachere Lösung gefunden und hier geposted: http://forum.oxid-esales.com/showthread.php?p=146379#post146379
Im Wordpress-Verzeichnis die wp-comments-post.php kopieren nach
Wordpress-Verzeichnis/wp-comments-post-toxid.php
am Anfang der neuen PHP-Datei folgenden Code einfügen:
<?php
/**
* Handles Comment Post to WordPress and prevents duplicate comment posting.
*
* @package WordPress
*/
/** ANFANG Anpassung TOXID - aktuelle OXID-Seite merken */
$currenturl = $_SERVER['HTTP_REFERER'];
/* ENDE Anpassung TOXID */
und die folgenden letzten Zeilen:
$location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
$location = apply_filters('comment_post_redirect', $location, $comment);
wp_safe_redirect( $location );
exit;
durch diese Zeilen ersetzen:
/** nachdem Kommentar verarbeitet, Redirect zur gemerkten OXID-Seite */
wp_redirect( $currenturl );
exit;
Danach in die functions.php vom toxidXML-Theme die Funktion “comment_form” aus der Datei “wp-include/comment-template.php” kopieren und als “comment_form_toxid” benennen, damit die Funktion abgeändert werden kann und nur Auswirkungen im toxidXML-Theme hat.
Folgende Zeilen in der function comment_form_toxid ändern, damit die neue “wp-comments-post-toxid.php” aufgerufen wird:
<form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>">
ändern in
<form action="<?php echo site_url( '/wp-comments-post-toxid.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>">
und zum Schluss in der comments.php vom toxidXML-Theme dafür sorgen, dass statt der “comment_form” Funktion die “comment_form_toxid” Funktion aufgerufen wird.
die Zeile
<?php comment_form(); ?>
ersetzen durch:
<?php comment_form_toxid(); ?>
Vielleicht ist das nicht grad die sauberste Lösung, aber bei mir funktionierts…
Auf Wunsch von Joscha, hänge ich hier noch die betreffenden Dateien als Vorlage an.
Gruss
claudia
P.S. Als XML Theme habe ich das “Twenty Eleven” Theme angepasst