Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Browsing-Erlebnis zu verbessern und um (nicht) personalisierte Werbung anzuzeigen. Wenn du nicht zustimmst oder die Zustimmung widerrufst, kann dies bestimmte Merkmale und Funktionen beeinträchtigen.
Klicke unten, um dem oben Gesagten zuzustimmen oder eine detaillierte Auswahl zu treffen. Deine Auswahl wird nur auf dieser Seite angewendet. Du kannst deine Einstellungen jederzeit ändern, einschließlich des Widerrufs deiner Einwilligung, indem du die Schaltflächen in der Cookie-Richtlinie verwendest oder auf die Schaltfläche "Einwilligung verwalten" am unteren Bildschirmrand klickst.
zwingend erforderlich
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.
Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Ich kümmer mich drum… poste hier gleich eine Änderungs-Anleitung :)
Bittesehr ;)
https://phpfi.com/316900 (gepatchtes Plugin)
Folgende Änderungen müssten übernommen werden:
Statt:
mdv_most_commented(5, ’’, ’’, true, 30);
Aufruf mit:
mdv_most_commented(5, ’’, ’’, true, array(123, 456, 789));
…wobei 123, 456, 789 Artikel sind welche ignoriert werden sollen
(gibt es keine zu ignorierenden Artikel, einfach leeres array übergeben oder weglassen)
Im Plugin selbst:
function mdv_most_commented($no_posts = 5, $before = ”, $after = ”, $show_pass_post = false, $duration=”) {
ersetzen durch (ist abwärtskompatibel)
function mdv_most_commented($no_posts = 5, $before = ”, $after = ”, $show_pass_post = false, $duration=”, $postings_ignore = NULL) {
sowie VOR
if(!$show_pass_post) $request .= ” AND post_password =””;
einfügen:
// Patch: Ignorierte Postings nicht anzeigen
if($postings_ignore != NULL && is_array($postings_ignore))
foreach($postings_ignore as $ig)
if(is_numeric($id) && $id > 0)
$request .= ” AND $wpdb->posts.ID != ” . $id;
// Ende Patch
(siehe verlinkte phpfi-Seite) :)
Upps sorry tippfehler
statt (Zeile 23)
$request .= ” AND $wpdb->posts.ID != ” . $id;
it richtig:
$request .= ” AND $wpdb->posts.ID != ” . $id;
Ich bekomms noch hin. :(
also:
$request .= ” AND $wpdb->posts.ID != ” . $ig;
(jetzt aber)
Warum nicht posts.ID NOT IN (0,1,2,3,4,5,N)? Und wäre es nicht vielleicht sogar noch einfacher einfach ein Tag als “dirty” zu definieren welches Beiträge ausschließt?
Danke erst einmal Denis! So ganz scheints noch nicht rund zu sein. Bist Du sicher, dass die “30” nach dem “true” in der Sidebar des Original-Codes raus muss? Es wird aktuell “none found” angezeigt, offensichtlich weil der Zeitraum nicht definiert ist. Aber auch selbst, wenn ich die “30” wieder integriere, werden die gewünschten Posts “468, 407” nicht ausgeklammert.
Hab das nur kurz überflogen, aber ist in dem “Patch” nicht ein dreher mit $id und $ig? Beim Prüfen ob der Paramter numerisch und größer 0 ist, ist anstelle $ig noch $id eingesetzt. Es soll ja der übergebene Array-Value $ig geprüft werden.
// Patch: Ignorierte Postings nicht anzeigen
if($postings_ignore != NULL && is_array($postings_ignore))
foreach($postings_ignore as $ig)
–>> if(is_numeric($ig) && $ig > 0) <posts.ID != ” . $ig;
// Ende Patch
Sehe gerad, das der Editor den Code durcheinander gebracht hat..
Also nochmal ohne Kommentare
// Patch: Ignorierte Postings nicht anzeigen
if($postings_ignore != NULL && is_array($postings_ignore))
foreach($postings_ignore as $ig)
if(is_numeric($ig) && $ig > 0)
$request .= “ AND $wpdb->posts.ID != “ . $ig;
// Ende Patch
Danke Oliver, aber das wars auch noch nicht. Nun wird “None found” ausgegeben, weil offensichtlich kein Zeitraum definiert ist.
???
Hast Du den Methodenaufruf von Dennis verwendet? Wenn ja, fehlt da noch ein Parameter, da du den Array an die Duration-Stelle übermittelst und das zu einem ungütigen SQL-Statement führt. Hab leider kein WordPress zur Hand um das zu prüfen, ist aber eine Erklärung, da “None found” bei leerem DB-Result ausgeliefert wird.
Methoden
function mdv_most_commented ($no_posts = 5, $before = ”, $after = ”, $show_pass_post = false, $duration=”, $postings_ignore = NULL)
Aufruf mit:
mdv_most_commented(5, ‘’, ’’, true, 30, array(432));
Die “li” natürlich wieder einsetzen..