Kommentare und Trackbacks trennen
Genau daran versuche ich mich heute mal. Denn das ist nicht schön, das Trackbacks als Kommentare gezählt werden.
Genau daran versuche ich mich heute mal. Denn das ist nicht schön, das Trackbacks als Kommentare gezählt werden.
Danke an Frank, der es mal wieder als erster angesprochen hat. Die WordPress Autosave Funktion nämlich. WordPress speichert automatisch alle 60 Sekunden den Artikel. Das ist mir ehrlich gesagt zu kurz. Daher habe ich mal gesucht und bin auch fündig geworden.
WordPress Autosave beeinflussen
Ehrlich gesagt hätte ich da auch selbst drauf kommen können. Denn es is ganz einfach. Einfach die wp-config.php öffnen und dort vor dem Secret_Key folgendes einfügen:
define( 'AUTOSAVE_INTERVAL', 300 ); // Autosave interval
Die Zeitangabe erfolgt in Sekunden. Bei mir speichert WordPress also alle 5 Minuten den Beitrag.
Die Anzeige der Gravatare im WP-Admin finde ich eigentlich nicht so gut. Heute hatte ich über 500 Kommentare zum moderieren, seit gestern abend, und somit war WordPress mehr mit den Gravataren beschäftigt als mit dem aussortieren von Spam…
Das muss meiner Meinung nach wirklich nicht sein, da so sämtliche Kommentardaten (ins besondere die E-mail Adressen, direkt beim moderieren an www.gravatar.com übertragen werden. Wozu soll das gut sein? Und nicht nur das. Ich hatte es nicht gerade leicht, herauszufinden, wie man die Anzeige der Garavatar unterbindet. Ausser das ich halt eh schon eine Filter-Regel für Adblock auf *.gravatar.com/* habe..
Ich habe es aber trotzdem rausgefunden.
//Nachtrag von Hollii: Ja, den Schalter in den Diskussionseinstellungen habe ich jetzt auch gefunden.
/blog/wp-admin/includes/comment.php
function floated_admin_avatar( $name ) {
global $comment;
$id = $avatar = false;
if ( $comment->comment_author_email )
$id = $comment->comment_author_email;
if ( $comment->user_id )
$id = $comment->user_id;
/*
if ( $id )
$avatar = get_avatar( $id, 32 );
*/
return "$avatar $name";
}
Farbe rot = unverändert aber /* auskommentiert */
Farbe orange = unverändert
Einfach die beiden rot markierten Zeilen auskommentieren und gut ist.
Das gilt allerdings nur für WordPress 2.5. Bei anderen Versionen habe ich das nicht getestet.
Und wie schauts mit der Gravatar-Anzeige in den Kommentaren unterhalb der Blog-Einträge aus? Bisher ist das hier im 5-Finger-Blog nicht aktiviert gewesen. Soll ich es aktivieren? Dazu ist im Kommentar-Template des Themes folgender Eintrag erforderlich.
<?php echo get_avatar( $comment, 32 ); ?>
Bei mir ist der allerdings auskommentiert. Wer mir also ein paar gute Gründe nennen kann, warum ich das aktivierern sollte für die Kommentare, der kann und sollte sich jetzt und hier zu Wort melden.
Achja, meine E-mail Adresse habe ich bei www.gravatar.com übrigens auch hinterlegt, sofern jemand die Anzeige von Gravataren aktiviert hat. Bei mir ist es natürlich immer mein Auge.
//Nachtrag: Ich sehe gerade, das es für die Anzeige der Gravatare in den Beiträgen, also zu den Kommentaren, einen Schalter gibt. Die wird allerdings nicht die Anzeige im WP-Admin verhindern oder? - Doch,… Ok alles klar. Dann brauch ich gar nicht die Datei editieren.
WordPress hat in Version 2.5 für die Textfelder ein autocomplete=”off” eingefügt, so das man nun nicht mehr auf die Bestände der Formhistory (Autovervollständigen ) zurückgreifen kann. Das finde ich sehr ärgerlich, da ich sehr viel mit der Formhistory arbeite.
Folgende Dateien sind betroffen:
/blog/wp-admin/edit-page-form.php
/blog/wp-admin/edit-form-advanced.php
Folgender Code ist da jeweils zu finden.
<div id="titlewrap">
<input type="text" name="post_title" size="30" tabindex="1" value="<?php echo attribute_escape( $post->post_title ); ?>" id="title" autocomplete="off" />
</div>
Ich habe die entsprechende Stelle rot markiert. Nachdem ich beide Dateien bearbeitet und das off auf on gestellt sind alle Einträge in der Formhistory wieder nutzbar.
<div id="titlewrap">
<input type="text" name="post_title" size="30" tabindex="1" value="<?php echo attribute_escape( $post->post_title ); ?>" id="title" autocomplete="on" />
</div>
Habe es mal im WordPress Deutschland Forum gepostet.
WordPress autocomplete=â€off†@ WordPress Deutschland Forum
Ich hab da ein nettes Plugin entdeckt um die Fehlerseiten zu loggen, die ja unterhalb des Blogs von WordPress abgefangen werden.
Da die Seite dazu wohl offline ist, habe ich es mal bei mir hochgeladen. Zur Sicherheit.
http://hollii.de/temp/wordpress_log-404-1.2.1.zip
Gefunden hatte ich das hier:
http://drunkenmonkey.org/user/archive/
Ich kannte schon einige Möglichkeiten, je nach Seite andere Infos in den Header oder Footer zu packen. Das das aber sogar mit WordPress-Seiten, Kategorien und sogar den Blog-Beiträgen an sich geht, hätte ich nicht gedacht.
So kann man sehr einfach einzelne Seiten für Suchmaschinen sperren.
Hier mal die Einstellungen von mir, die ich bei mir im Header stehen habe. Also Regeln je nach Seite usw. Nicht alle die ich jetzt poste, setze ich auch ein. Die sind mir beim schreiben dieses Beitrags noch eingefallen.
Unterseiten die nicht gespidert werden dürfen/sollen. Beispiel bei mir, die Seite mit dem E-mail Forumlar. Ich poste auch jetzt nur Beispiele und nicht alles, da das sonst den Rahmen sprengen würde.
<?php if ( is_page('mail') || is_page('datenschutzerklaerung') ) { ?>
<meta name="robots" content="noindex" />
<?php } ?>
Regeln für alle Beiträge wenn diese einzeln aufgerufen werden. Beispiel bei mir, einfach einen Eintrag aufrufen.
Klick
<?php if ( is_single() ) { ?>
<meta name="robots" content="index" />
<?php } ?>
Die Blog-Suche-Ergebnisse sperren aber Links folgen is_search() Beispiel bei mir: Such mal bei mir im Blog nach wordpress.
<?php if (is_search() ) { ?>
<meta name="robots" content="noindex" />
<meta name="robots" content="follow" />
<?php } ?>
Die Kategorien sperren aber den Links ebenfalls sperren is_category() Beispiel bei mir: Such mal nach wordpress.
<?php if (is_category() ) { ?>
<meta name="robots" content="noindex" />
<meta name="robots" content="follow" />
<?php } ?>
Natürlich kann man das auch nur für bestimmte Kategorien machen is_category(’Kategoriename’).
<?php if (is_category('Kategoriename') ) { ?>
<meta name="robots" content="noindex" />
<meta name="robots" content="follow" />
<?php } ?>
Dann gibt es ja noch die Homeseite. is_home().
<?php if (is_home() ) { ?>
<meta name="robots" content="noindex" />
<meta name="robots" content="follow" />
<?php } ?>
Das sind lange noch nicht alle Möglichkeiten.
Mir ging die Ladezeit der WP-Admin-Startseite, besonders nach dem einloggen auf den Senkel. Daher habe ich an meiner /wp-admin/index.php folgende Änderungen vorgenommen.
Zum einen habe ich im unteren Bereich die Kästen mit den Infos entfernt. Das war dieser Code.
<?php
$rss = @fetch_rss('http://planet.wordpress.org/feed/');
if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<div id="planetnews">
<h3><?php _e('Other WordPress News');
?> <a href="http://planet.wordpress.org/">
<?php_e('more'); ?>»</a></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 20);
foreach ($rss->items as $item ) {
?>
<li><a href='<?php echo wp_filter_kses($item['link']); ?>'><?php
echo wp_specialchars($item['title']); ?></a></li>
<?php
}
?>
</ul></div>
<?php
}
?>
Und dann habe ich die Technorati Abfrage ausgebaut. Das ist dieser Code.
<?php
$rss = @fetch_rss('http://feeds.technorati.com/cosmos/rss/?url='.
trailingslashit(get_option('home'))
.'&partner=wordpress');
if ( isset($rss->items) && 0 != count($rss->items) ) {
?>
<div id="incominglinks">
<h3><?php _e('Incoming Links');
?> <cite><a href="
http://www.technorati.com/search/
<?php echo trailingslashit(get_option('home')); ?>?partner=wordpress"><?php_e('More'); ?> »</a></cite></h3>
<ul>
<?php
$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
?>
<li><a href="<?php echo wp_filter_kses($item['link']); ?>"><?php
echo wptexturize(wp_specialchars($item['title'])); ?></a></li>
<?php } ?>
</ul>
</div>
<?php } ?>
Damit ich aber auch in Zukunft noch bei Technorati suchen kann habe ich folgendes dafür eingesetzt.
<div id="incominglinks">
<h3><?php _e('Incoming Links'); ?> <cite><a href="http://www.technorati.com/search/<?php echo trailingslashit(get_option('home')); ?>?partner=wordpress">Technorati Suche»</a></cite></h3>
</div>
Und so siehts dann aus. Und die Seite lädt sauschnell. ;-D
Wer die Seite auch gerne so haben möchte. Hier gibts meine Version.
Nur entpacken und hochladen. Fertig.
WordPress 2.0.11 /wp-admin/index.php getunt
http://hollii.de/temp/wp-admin-index.php.zip
//Nachtrag am 23.08.2007 um 07:32 Uhr:
Ich hab jetzt gerade auch ein Eintrag im WordPress Deutschland FAQ gefunden. Tja, ich habs selbst geschafft.
Für vBulletin hatte ich sowas in der Art auch mal gemacht.
http://faq.wordpress-deutschland.org/tellerrand-beschleunigen/
Ich hab mir gedacht, ich bau das mein Auge auch noch in die Sidebar ein. Da ich aber Hand und Auge gleichzeitig blöd finde, und auch zuviel, hab ich mich für das Prinzip Zufall entschieden.
Dafür habe ich an der Stelle, an der ich das Logo zu sehen sein soll, folgendes eingefügt:
<?php
// zuerst die beiden Logos
$bloglogo[]='<img style="border:none" src="http://hollii.de/h75hand.gif" alt="Holliis
Hand mit dem H75 Logo" width="100" height="104" />';
$bloglogo[]='<img style="border:none" src="http://hollii.de/h75.gif" alt="Holliis
Auge mit dem H75 Logo" width="64" height="64" />';
// Zählt die Anzahl
$bloglogo_anzahl=count($bloglogo);
// Schmeisst den Zufallsgenerator in Gang
srand((double)microtime()*1000000);
// Hier entscheidet der Zufall endlich, welches Logo zu sehen sein wird...
$bloglogo_ausgabe=rand(0,$bloglogo_anzahl-1);
// Und nun wird das ganze mit echo in den Quelltext geschrieben.
// Und zwar zwischen <a href="http://hollii.de/"> und </a>
echo $bloglogo[$bloglogo_ausgabe];
?>
Zeilen die mit einem Doppelslash beginnen // sind Kommentare von mir und werden von PHP ignoriert. Es sind 2 Logos, von denen eins genommen wird. Jenachdem. Die Ausgabe, das was in den Quelltext geschrieben wird, ist das zwischen den beiden Strichen ‘…’ Das ganze ersetzt das <img src=….
Und wer noch mehr Logos oder Pics verwenden möchte, kann die eine oder die andere Zeilen einfach dublizieren. So oft wie man möchte..
http://h75.de/h75hand.gif
http://h75.de/h75.gif
Hier das Script auch nochmal in einer Text-Datei.
http://hollii.de/temp/bloglogozufallsgenerator.txt
Und hier auch noch der Auszug aus dem WordPress-Template Sidebar.php im Themes-Ordner.
http://hollii.de/temp/bloglogozufallsgenerator_sidebar.txt
Damit auf der Kommentar-Seite im AdminCP der Direktlink zum Kommentar angezeigt wird und nicht der Link zum Beitrag, muss man folgendes machen:
Öffne die /wp-admin/edit-comments.php und suche folgende Zeile:
| <a href="<?php echo
get_permalink($comment->comment_post_ID); ?>
"><?php _e('View Post')
?></a></p>
Füge hinter dem comment_post_ID); ?> folgendes ein (direkt dransetzen).
#comment-<?php comment_ID() ?>
So sollte es dann aussehen..
comment_post_ID); ?>#comment-<?php comment_ID() ?>">
Hehe.. Das ist so lustig, ich muss es bloggen.
Was war passiert? Da hat ein AOL-Kunde ein Script hochgeladen, in meinen Briefkasten.
Dateiname: c99.php
Anschliessend hat dieser AOL-User versucht, das Script, welches er unter h75.de hochgeladen hat (andere Domain, anderes Verzeichnis, andere Rechte usw), hier unter hollii.de zu finden. Denn er hat die Weblog-interne-Suchfunktion verwendet.
Nämlich: hollii.de/blog/?s=c99
Nun ja, das war es dann wohl auch. Mehr findet sich in den Logs nicht. War aber klar, das das irgendwann mal jemand versucht.. Das Script, welches er hoch geladen hat, schaue ich mir jetzt mal näher an. Hier ein Screenshot, wie das C99Shell-Script, so nennt es sich, bei mir nach dem ersten Aufruf aussieht.
Das Script selbst stelle ich jetzt aber nicht zum Download zur Verfügung.
Das schaue ich mir wie gesagt erstmal an.