Kommentare von Custom Post Types filtern - WordPress

13.08.2012 19:51 Uhr

Ich suche nach einer Möglichkeit die Kommentare eines bestimten Custom post types in WordPress aus dem normalen Kommentarstream zu filtern. Der Kommentarbereich in dem separaten Post Type hat nichts mit "Kommentaren" zu tun sondern soll sich z.B. "Antworten" nennen und so auch nicht unter den Kommentaren zu finden sein oder beim zählen der Kommentare oder im Kommentar Sidebar Widget berücksichtigt werden. Leider konnte ich hierzu noch nichts finden, nun hoffe ich auf eine Idee die mir noch nicht gekommen ist.

2 Antworten

#1

14.08.2012 10:21 Uhr

Hallo Sebastian,

ich habe zwar selbst noch nie mit Custom Post Types gearbeitet, vielleicht helfen dir meine Gedanken hierzu jedoch trotzdem weiter.

Wie man im produktiven Einsatz mit Custom Post Types umgeht, kannst du hier nachlesen: http://www.elmastudio.de/wordpress/wordpress-custom-post-types-im-einsatz/

Im Anschluss würde ich, wahrscheinlich in der single.php, eine If-Abfrage stellen, ob es sich um einen oder den gewünschten Custum Post Type handelt. Ist dies der Fall, so kannst du die Kommentar-Funktion "umbiegen", anstelle von "Kommentaren" das Wort "Antwort(en)" nutzen und das Layout auch entsprechend eines Frage- / Antwort-Systems anpassen.

 

#2

14.08.2012 18:55 Uhr

Vielen Dank Jan,

den Artikel von Ellen zu diesem Thema kannte ich bereits. Das Arbeiten mit Post Types ist für mich auch nichts neues mehr. Jedoch ist mir aufgefallen das es wohl nicht möglich ist die Kommentare aus dem Kommentarstream zu lösen/filtern. Zugegeben es ist nicht das wichtigste, jedoch wäre es eine nette sache.

Das ich per if abfrage die Kommentare in Antwort(en) ändern kann war mir soweit schon klar, aber eben die Trennung der "Antworten" von den "Kommentaren" nicht.

Also kurzes Beispiel: Ich habe einen Blog in dem ich Artikel zu Filmen verfasse, diese können Kommentiert werden. Dann habe ich einen Custom Post Type Movies (standard beispiel) mit dem ich eine Filmdatenbank anlege und die Besucher können Rezensionen zu den Filmen schreiben. Nun möchte ich in der Sidebar ein Widget einbauen "Letzte Kommentare" und "Letzte Rezensionen", hierzu müsste ich jedoch die Kommentare des Custom Post Types Movie herausfiltern.

Eine möglichkeit wäre es vllt die Post ID's von Movie aus zu lesen:

function get_the_movie_post_id($post) {
$posts=get_posts('showposts=-1&post_type='movie'); if ($posts) { $movie_post_ids = array(); foreach($posts as $post) { array_push($movie_post_ids, $post->ID); }
return $movie_post_ids
}

und jeweils das letzte Kommentar der einzelnen movies herauszufiltern.

function get_movie_comments($post_id) {
    $comments = get_comments(array(
        'post_id'=> $post_id,
'order_by' => 'DESC',
        'number'=>'1'));
    foreach($comments as $comment){
        //format comments
    }

nun müsste man die gesammten kommentare noch nach datum sortieren und nur die ersten x Rezensionen ausgeben.

Soviel zur Arbeit im Front-End, leider löst das nicht die Situation im Back-End wo Kommentare alle zusammen laufen und nicht gefiltert werden können.

 

Ähnliche Fragen



Datenschutzerklärung · Impressum