Kategorie ‘PHP Code’



Seiten: 1 2 Nächste

WordPress Search Everything

Ich hab da mal ein Problem. Und zwar das Plugin “Search Everything” für meinen WordPress Blog hier funktioniert irgendwie nicht mehr. Wenn ich im Control-Center die Optionen einstelle, ich dann z.B. nach einem Wort in den Kommentaren suchen lasse, hängt sich die Suche in einer “Endlosschleife?” auf. Die Seite lädt und lädt und lädt und endet schliesslich mit WordPress Fehlermeldung “Nichts gefunden”. Verstehe ich irgendwie nicht… Hat da jemand eine Idee, was das sein könnte?

Habe das Suchfeld oben rechts deshalb erst mal raus genommen.

WordPress Search Everything

//Nachtrag: Achja, fällt mir ein. Ich habe vor ein paar Tagen WordPress auf die aktuelle Version hochgezogen. Von Version 2.6.2 auf 2.9.2. Seitdem funktioniert die Suche nicht mehr…

Kommentare und Trackbacks trennen

Genau daran versuche ich mich heute mal. Denn das ist nicht schön, das Trackbacks als Kommentare gezählt werden.

WordPress Autosave beeinflussen

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.

Gravatare im WP-Admin

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. :razz:
//Nachtrag von Hollii: Ja, den Schalter in den Diskussionseinstellungen habe ich jetzt auch gefunden. :schlafen:

/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. :-D

Vorschau WordPress - Gravatare anzeigen

WordPress autocomplete=”off”

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. :mad:

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. :geil:

<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

Fehler 404 mit Wordpress loggen

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/

is_WordPress

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. :)

Lange Ladezeit WordPress Tellerrand

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'); ?>&raquo;</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'); ?> &raquo;</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&raquo;</a></cite></h3>
</div>

Und so siehts dann aus. Und die Seite lädt sauschnell. ;-D

WordPress Tellerrand getunt

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. :D
http://faq.wordpress-deutschland.org/tellerrand-beschleunigen/

Zufallslogo in der Sidebar

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. :D

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... :D 
$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

WordPress – comment_ID

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() ?>">

Erstes Script

Hehe.. Das ist so lustig, ich muss es bloggen. :D

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 :mrgreen:

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.

C99Shell v1.0 pre-release build #16

Das Script selbst stelle ich jetzt aber nicht zum Download zur Verfügung. ;) Das schaue ich mir wie gesagt erstmal an.

WordPress – Smilies Button @ WP-Admin

So, hier folgt nun eine kurze Erklärung, wie Mann und Frau im Admin-Bereich (wp-admin) die Smilies anzeigen lassen kann, so das ein Klick darauf diesen im Text direkt einfügt. :mrgreen:

WordPress - Smilies Button @ WP-Admin

Google war so nett, mir die URL zu verraten, die ich ja eigentlich schon gefunden hatte. Nur hab ich beim einbauen der Smilies in die Kommentar-Funktion nicht weitergelesen. :D Und zwar hatte ich das ja bei ars aranea entdeckt. Und es funktioniert super. 8)

Hier auch 2 Screenshot, wie es im Quelltext der PHP-Dateien nachher aussieht, wenn man Schritt 3.2.2 erfolgreich abgearbeitet hat. :)

wp-admin_edit-form.php - WordPress - Smilies Button @ WP-Admin

wp-admin_edit-form-advanced.php - WordPress - Smilies Button @ WP-Admin

Neue Kategorie: WordPress

Ps: Hier hab ich eine Kopie der Beschreibung gesichert.

MySQLDumper

Hm, was möchte denn der MySQLDumper da von mir? Aufeinmal taucht dieses Meldung oberhalb der Statusseite auf (während des Backups)… :???:

Warning: mysql_query() [function.mysql-query]: Unable to save result set in /home/admin/mysqldumper/dump.php on line 77

Ich hoffe, das ist nichts ernstes. Werde den jetzt einfach mal neuinstallieren, bzw. die install.php erneut ausführen.

2 Minuten später…

Und was sage ich, jetzt kommt die Meldung nicht mehr. ;)

Für die, die nicht wissen, was der Mysqldumper alles kann, empfehle ich diesen Link. zum Download gehts hier entlang. ;)

WordPress: Kategorie-Anzahl ausblenden

Heute mal wieder ein Tipp in Sachen WordPress. :) Und zwar wollte ich die Anzahl der Beiträge in einer Kategorie ausblenden, die jeweils in Klammern hinter dem Kategorie-Namen stand. Bei Google war nicht zu finden, was mir da weitergeholfen hätte. Deswegen habe ich selbst rumprobiert. Der entscheidene Teil sitzt in der Datei sidebar.php, die sich im Ordner des Styles befindet. bei mir /blog/wp-content/themes/steam/.

<?php list_cats(0, ‘’, ‘name’, ‘asc’, ‘’, 1, 0, 1, 1, 1, 1, 0,'’,'’,'’,'’,'’) ?>

So siehts aus, wie es bei mir zu finden war im Style ‘Steam’. Ich habe jetzt dort nur 1 zu einer 0 geändert und schon war die Anzahl verschwunden. :D So habe ich es jetzt:

<?php list_cats(0, ‘’, ‘name’, ‘asc’, ‘’, 1, 0, 0, 1, 1, 1, 0,'’,'’,'’,'’,'’) ?>

WordPress 2.0.2 Referer erforderlich

Vor ein paar Tagen erst habe ich diesen WordPress-Weblog auf die aktuelle Version 2.0.2 aktuallisiert. Nun machen sich auch schon gleich Unterschiede bemerkbar zur Version 2.0.1.

Und zwar in erster Linie, das jetzt auch zum Veröffentlichen von Blog-Einträgen der sogenannte Referer erforderlich ist. Da ich aber generell den Referer blockierere, bzw nur sehr wenigen Websites gestatte, diesen abzufragen, habe ich mal die Dateien der letzten beiden WordPress-Versionen verglichen. Version 2.0.1 und 2.0.2.

Ergebnis: In meinem Blog ist der Referer jetzt nebensache. :) Das heisst ich habe jetzt die Version 2.0.2 gehackt und den Referercheck ausgebaut. :D

Für alle, die sich jetzt fragen, wie das wohl geht, hier die Lösung.

Öffne die Datei /wp-admin/post.php und suche nach check_admin_referer(); – Das dann einfach löschen. :) Kommt mehrfach vor. Und hier noch alle anderen Dateien, in denen ebenfalls der Referer überprüft wird.

/wp-admin/users.php – 4x
/wp-admin/users-edit.php – 2x
/wp-admin/themes.php – 1x
/wp-admin/profile-update.php – 1x
/wp-admin/post.php – 6x
/wp-admin/plugins.php – 1x
/wp-admin/options.php – 1x
/wp-admin/list-manipulation.php – 1x
/wp-admin/link-manager.php – 6x
/wp-admin/categories.php – 1x

Seiten: 1 2 Nächste