Keiner eine Idee, woran das liegen könnte??
Beiträge von Marcuss
-
-
Hallo zusammen!
Ich habe mir eine auf Basis eines anderen Funktions-Codes eine Top-Kommentator-Anzeige für die letzten 365 und die letzten 30 Tage zusammengebaut.
Die sieht - für die Anzeige der letzten 12 Monate - wie folgt aus:
PHP
Alles anzeigenfunction top_commentators_jahr() { global $wpdb; $topcommentator_query="SELECT comment_author, comment_author_email, comment_type, SUBSTRING_INDEX(comment_author_url, '/', 3) as top_commentator, COUNT(*) as top_num FROM $wpdb->comments WHERE comment_approved='1' AND comment_author_email NOT LIKE 'xyz@domain.de%' AND comment_author_email NOT LIKE 'abc@domain.de%' AND comment_type NOT LIKE 'pingback' OR 'trackback' AND comment_date >= CURDATE() - INTERVAL 365 DAY GROUP BY top_commentator Order by top_num DESC, comment_date ASC LIMIT 3"; $topcommentator_result = $wpdb->get_results($topcommentator_query); if ( !empty($topcommentator_result) ) { echo '<ol>'; foreach ($topcommentator_result as $comment) : $co_aut = $comment->top_commentator; $co_aut = str_ireplace("http://", "", $co_aut); echo '<li>',get_avatar( $comment, 32 ),' <a href="'.$comment->top_commentator.'/" target="_blank">'.$comment->comment_author.'</a> ('.$comment->top_num.') </li>'; echo '<br /><br /><br />'; endforeach; echo '</ol>'; } }
Wenn ich mir die jetzt für die Anzeige der letzten 30 Tage kopieren will, dafür im Funktionsnamen das 'jahr' durch 'monat' ersetze und bei den Tagen die 365 durch 30, dann zeigt er mir die selbe Ansicht wie bei der für das Jahr an.
Anschauen könnt ihr Euch das hier
Der Funktionsaufruf sieht wie folgt aus:
PHP<?php if ( is_home() || is_single() ) { ?> <div class="box2"> <h5>Top Kommentatoren der letzten 30 Tage</h5> <?php echo top_commentators_monat(); ?><br /> <h5>Top Kommentatoren der letzten 365 Tage</h5> <?php echo top_commentators_jahr(); ?> </div>
Ich habe vor diesen Funktionsaufruf sogar noch eingesetzt, was jedoch erfolglos blieb.
Jemand eine Idee, woran das liegen könnte?
Danke im voraus!
Marcus -
Hallo!
Kann mir zumindest jemand erklären, wie ich nur die Domain des referers anzeigen lasse? Also statt des jetzigen Zustands http://www.xyz.de/abc.php... nur http://www.xyz.de?
Ich bastel mir da seit vorgestern einen ab, aber bin anscheinend etwas zu blöde, das hinzubekommen. Denn wenn es einigermaßen passt, zeigt er mir nur 'Array' an, nicht aber die Domain.
Thx so lot
EDIT: Post hat sich erledigt -
Hallo zusammen!
Ich lasse durch eine Funktion des Plugins Semmelstatz im FE die Domains der Seiten von der die letzten Besucher gekommen sind anzeigen.
PHP
Alles anzeigensem_showReferers1() { global $wpdb, $homehost; $sem_options = get_option('semmelstatz_options'); ### optionsarray auslesen $limit = 4; $mask = $sem_options["statz_mask_referer"]; $lastreferers = $wpdb->get_results("SELECT DISTINCT referer, time FROM ".$wpdb->statz." WHERE referer NOT LIKE '".$homehost."' AND referer NOT LIKE 'http://www.google.de%' AND referer NOT LIKE 'http://www.google.com%' ORDER BY time DESC LIMIT 0, ".$limit); foreach ($lastreferers as $key=>$lastreferer) { $ref = $_SERVER["HTTP_REFERER"]; $ref = parse_url($referer); $referer = $lastreferer->referer; if(strlen($referer) >= 120) { $printreferer = substr($referer, 0, 120)." ..."; } else { $printreferer = $referer; } if($mask != true) { print "<br /><a target='_blank' href='".$referer."'>".$ref['host']."</a>"; } else { $referer = htmlspecialchars($referer, ENT_QUOTES); print "<br /><a target='_blank' href='http://www.google.com/url?sa=D&q=".$referer."'>".$printreferer."</a>"; }
Wie kann ich es denn erreichen, das jede Seite von der einer der letzten Besucher gekommen ist, nur einmal angezeigt wird. Und nicht so wie hier
google.de und .com habe ich bewusst rausgenommen.Danke im voraus!
Marcus
PS: Woran liegt es eigentlich, das man weder Anhänge hochladen noch von einer Seite verlinken kann?
-
Wegnehmen brauchst Du in der Zeile gar nichts.
Nur das Wörtchen to in das Wörtchen zu ändern. -
Hallo zusammen!
Weiß jemand, da ich das als zusätzliche Funktion einbauen möchte, wie ich den letzten Kommentar eines in der Liste auftauchenden Kommentators aus der Datenbakn hole?
Mit comment_content und so weiß ich schon. Aber er zeigt mir dann den ersten und nicht den letzten Kommentar an.
Danke im voraus!
Marcus -
Hallo zusammen!
Ich habe es jetzt zwar soweit, das die Kommentatoren korrekt angezeigt werden, nur bei der Top-Kommentatorin zeigt er eine um 1 zu hohe Anzahl an.
Woran kann das jetzt wieder liegen?
Code
Alles anzeigenfunction top_commentators_jahr() { global $wpdb; $topcommentator_query="SELECT comment_author, comment_type, SUBSTRING_INDEX(comment_author_url, '/', 3) as top_commentator, COUNT(*) as top_num FROM $wpdb->comments WHERE comment_approved='1' AND comment_author_url NOT LIKE 'http://themenfreund.de%' AND comment_type NOT LIKE 'pingback' OR 'trackback' AND comment_date >= CURDATE() - INTERVAL 365 DAY GROUP BY top_commentator Order by top_num DESC, comment_date ASC LIMIT 3"; $topcommentator_result = $wpdb->get_results($topcommentator_query); if ( !empty($topcommentator_result) ) { echo '<ul>'; foreach ($topcommentator_result as $comment) : $co_aut = $comment->top_commentator; $co_aut = str_ireplace("http://", "", $co_aut); echo '<li><a href="'.$comment->top_commentator.'/" target="_blank">'.$comment->comment_author.'</a> ('.$comment->top_num.') </li>'; endforeach; echo '</ul>'; } } -
Keiner eine mögliche Idee?
Würde mich freuen, wenn man das irgendwie hinbekommen könnte! -
Das Thema hat sich erledigt!
In der Functions.php befinden sich - sind jetzt auskommentiert - die folgenden drei Code-Zeilen:
PHPfunction check_referrer() { if (!isset($_SERVER['HTTP_REFERER']) || $_SERVER['HTTP_REFERER'] == “”) { wp_die( __('Please enable referrers in your browser, or, if you\'re a spammer, bugger off!') ); } }
Wann und warum ich die da jetzt reingesetzt habe, kann ich leider nicht mehr nachvollziehen. Aber jetzt kommen die Pings wenigstens an. -
Hallo zusammen!
Vielleicht kann mir ja jemand helfen:
Bei mir im Blog habe ich das Problem, das eingehende Pings anscheinend nicht angezeigt werden.
Ich habe diese Funktion bei mir eingebaut / eingeschaltet. Und das Log zeigt auch an, das in einem anderen Blog von mir ein Artikel verlinkt wurde.
Nur im Backend und im Artikel sehe ich davon nichts...
Das Log:
ZitatAlles anzeigen
2011-04-23 20:49:23 Input: <?xml version="1.0"?>
<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param><value><string>http://blog.....eu/and-again</string></value></param>
<param><value><string>http://themenfreund.de/die-lieben-ping-und-trackbacks</string></value></param>
</params></methodCall>
2011-04-23 20:49:23 Output: (PB) URL='http://themenfreund.de/die-lieben-ping-und-trackbacks' ID='2691' Found='url_to_postid()'
Es ist auch nichts im Spam gelandet. Und selbst das ausschalten aller Plugins ändert nichts.
Ich habe nach der Deaktivierung sämtlicher Plugins auf dem empfangenden Blog den Artikel auf dem sendenden Blog aktualisiert. Wieder gabs die obige Meldung im Log, aber nichts im Kommentatoren-Bereich.
Jemand eine Idee??
Gruß
Marcus
PS: Die Lösung mit Änderung des Timelimits in der Cron auf 1 und ähnliches habe ich auch schon alles durchgekaut.
EDIT: Frage mal anders gestellt: Woran kann es liegen - ausser an der comments.php, das dieses Verhalten gezeigt wird. Beim Wechsel des Themes klappt es nämlich perfekt. Aber auch die Nutzung von zwei Monate alten comments.php des aktuellen Themes bringen keine Besserung. -
Hallo zusammen!
Ich habe bei mir jetzt eine Funktion eingebaut, die die Top-Kommentatoren anzeigt.
Leider scheint da aber irgendwo ein Zählfehler zu stecken. Denn mein Top-Kommentator, bzw. in diesem Falle Kommentatorin hat keine 23 Kommentare abgegeben, sondern 'nur' 20.
Der Code sieht wie folgt aus:
PHP
Alles anzeigenfunction top_commentators_jahr() { global $wpdb; $topcommentator_query="SELECT comment_author, SUBSTRING_INDEX(comment_author_url, '/', 3) as top_commentator, COUNT(*) as top_num FROM $wpdb->comments WHERE comment_approved='1' AND comment_date >= CURDATE() - INTERVAL 365 DAY AND comment_author_url NOT LIKE 'http://themenfreund.de%' GROUP BY top_commentator Order by top_num DESC, comment_date ASC LIMIT 3"; $topcommentator_result = $wpdb->get_results($topcommentator_query); if ( !empty($topcommentator_result) ) { echo '<ul>'; foreach ($topcommentator_result as $comment) : $co_nam = $comment->comment_author; $co_aut = $comment->top_commentator; $co_aut = str_ireplace("http://", "", $co_aut); echo '<li><a href="'.$comment->top_commentator.'/" target="_blank">'.$co_nam.'</a> ('.$comment->top_num.') </li>'; endforeach; echo '</ul>'; } }
Und statt des richtigen Namens wird ein Pingback-Name angezeigt.
Wie kann ich das korrigieren?
Danke im voraus!
Marcus -
Hallo zusammen!
Ich lasse bei mir auf der Startseite einen zufälligen Artikel anzeigen, der bereits älter als 2 Monate ist.
Nun würde ich den gerne nicht als obersten Artikel anzeigen lassen, sondern etwas tiefer nach unten verschieben, so das er vielleicht unter dem 3. Artikel erscheint.
Gibts da ne Möglichkeit?? -
Hallo!
Um das mal zu verdeutlichen:
Wenn ich den folgenden Code anwende, verschwindet die div-Box wie gewünscht. Aber gibt es eine aktive Umfrage, fehlt der Hintergrund:
PHP
Alles anzeigen<?php if ( get_poll() ) : while ( get_poll() ) : the_poll(); ?> <?php if (function_exists('vote_poll') && !in_pollarchive()): ?> <li> <div class="widget"> <h3>Umfrage</h3> <ul> <li><?php get_poll();?></li> </ul> <?php display_polls_archive_link(); ?> </div><!--/widget--> </li> <?php endif; ?> <?php endwhile; else: ?> <?php endif; ?>
Zu sehen ist das - da das Hochladen der Fotos irgendwie nicht funktioniert - hier. Rechts wird mit deaktivierter Umfrage ordnungsgemäß nichts angezeigt. Links mit aktivierter Umfrage ist der Hintergrund grau. -
Hallo!
Ich meine folgendes:
Wenn eine Umfrage aktiv ist, soll sie ganz normal im FE zu sehen sein.
Ist keine Umfrage aktiv, soll der div-Container - der die WP-Polls-Geschichte enthält - nicht sichtbar sein.
Also sprich das übliche 'Zur Zeit keine Umfrage aktiv' soll ausgeblendet werden.
Aber die Idee mit der Widget-Class sollte ich mal probieren. -
Hallo zusammen!
Ich habe bei mir wp-polls installiert.
Nun möchte ich den div-Container, in dem ich die Umfragen anzeigen lasse, nur einblenden, wenn auch wirklich eine Umfrage aktiv ist.
Soweit habe ich es hinbekommen!
Der Code:
PHP
Alles anzeigen<?php if (function_exists('vote_poll') && !in_pollarchive()): ?> <div class="box2"> <li> <h3>Umfrage</h3> <ul> <li><?php get_poll();?></li> </ul> <?php display_polls_archive_link(); ?> </li> </div> <?php endif; ?>
Leider wird, wenn eine Umfrage aktiv ist, diese ohne Hintergrund (also dem div) angezeigt.
Wenn ich die div-Angaben versetze, verhunzt es mir die Ansicht.
Weiß jemand einen Rat?? -
Hallo zusammen!
Das Problem hat sich tatsächlich noch erledigt. Wie, das könnt ihr hier nachlesen.
Mich würde jetzt noch interessieren, ob und wie es möglich ist, den Post jetzt nicht als erstes anzuzeigen, sondern zwischen den 4 und 5 Artikel. Oder auch irgendwo anders zwischen den neueren Artikeln.
Hat da jemand eine Lösung?
Vielen Dank im voraus,
Marcus -
Hallo zusammen!
Was ich mit der ganzen Geschichte erreichen möchte, wird hier geschildert. Das ist die Entwicklerin des ganzen.
Und ich möchte halt die Trackbacks vom 1.1. bis zum aktuellen Datum zählen. Kann man natürlich auch das Datum 31.12.2011 angeben -
Nein, leider nicht wirklich!
-
Hallo paul-sims!
Die ganze Funktion sieht so aus (zählt die Trackbacks):
Codefunction anzahl_trackbacks2011() { global $wpdb; $t_count="SELECT COUNT(*) as comments FROM $wpdb->comments WHERE comment_approved='1' AND comment_type IN('trackback', 'pingback') AND comment_date BETWEEN '2011-01-01 00:00:00' AND 'date(Y-m-d h:i:s)'"; $tb_count = $wpdb->get_var($t_count); echo $tb_count; -