Einträge getagged als ‘Wordpress’

9
Februar
Abgeheftet in: Website | Tags: , | 21:02 Uhr | 0

Smarte Archiv Seite

Als ich im Januar 2008 von dem Blog-System Sunlog auf Wordpress umstieg, gefiel mir die Archive-Seite, die Wordpress mitlieferte, überhaupt nicht. Mit dem Plugin Smart Archive von Justin Blaton kam ich aber ungefähr zu dem zurück, was ich vorher hatte.

Was mir aber nie wirklich passte war, dass bei jedem Aufruf der Archiv-Seite weit über 600 Datenbankabfragen gemacht wurden. 50 Datenbankabfragen (auch Queries genannt) durch die sehr ineffektive Programmierung des Plugin. Alle weiteren kommen durch einen zwingenden Aufruf der Wordpress-Funktion get_permalink().

Mir fiel keine andere Lösung ein, als das alles zu cachen. Darum habe ich auch mir auch etwas zusammenprogammiert, was jeder gerne auch nutzen kann, dem es gefällt. Mir ist erst im nachhinein aufgefallen, dass die neue Version von Smart Archive auch Caching behinhaltet. Ich finde meine Version aber smarter ;-) . Smart Archive cached in einer eigenen Textdatei. Bei mir wird nach jedem erstellen eines neuen Artikels das Archiv neu erstellt und als Post direkt in Wordpress gespeichert.

Als erstes muss folgender Code in die Datei function.php in eurem Template kopiert werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Archive Seite
function my_archive()
{
    // set locale
    setlocale(LC_ALL,'de_DE.UTF-8');
   
    global $wpdb;
    $now = gmdate("Y-m-d H:i:s",(time()+((get_settings('gmt_offset'))*3600)));  // get the current GMT date

    $allPosts = $wpdb->get_results("
        SELECT ID AS id, post_title AS title, post_name AS name, UNIX_TIMESTAMP(post_date) AS date
        FROM $wpdb->posts
        WHERE post_type = 'post'
        AND post_status = 'publish'  
        ORDER BY post_date DESC"
);
   
    $lastdate = '';
   
    foreach ($allPosts as $post) {
   
        if($lastdate != date('Ym', $post->date) ) {
            if(!empty($lastdate)) $archive .= '';
            $archive .= '<h2><a href="' . get_month_link(date('Y', $post->date), date('m', $post->date)) . '">' . strftime('%B %Y', $post->date) . '</a></h2>';
            $archive .= '<ul style="list-style: none;">';
           
            $lastdate = date('Ym', $post->date);
        }
       
        $archive .= '<li><a href="' . get_permalink($post->id) . '">' . $post->title . '</a></li>';
       
    }
    $archive .= '</ul>';
   
    $my_post = array();
    $my_post['ID'] = 171;
    $my_post['post_content'] = $archive;

    // Update the post into the database
    wp_update_post( $my_post );

}
add_action('publish_post', 'my_archive'); // generate archives after a new post

In Zeile 41 muss die Zeile muss die ID (hier 171) durch die ID des Archiv-Posts ersetzt werden. Am einfachsten ist dies herauszufinden, wenn man im Admin-Menu die Archiv Seite editiert. In der Adress-Zeile findest man die ID hinter post= .

Nun muss das Archiv Template in der Datei archives.php angepasst werden. Hierfür wird alles um wp_get_archives() und wp_list_categories() durch folgendes ersetzt:

1
2
3
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_content('<p class="serif">Weiterlesen &raquo;'); ?>
    <?php endwhile; endif; ?>

Damit das Archiv angelegt wird, muss einmal ein Beitrag geschrieben werden.

14
Januar
Abgeheftet in: Website | Tags: , , | 13:01 Uhr | 1

Feed URL Umleitung

Ich wundere mich seit knapp zwei Wochen, warum meine eigenen Beiträge in meinem Feed Reader nicht mehr auftauchen. Heute habe ich dann auch das Problem gefunden.

Ich bin ja Anfang 2008 von Sunlog mit vielen eigenen gestrickten Sachen auf Wordpress umgestiegen. Dadurch änderte sich auf die Feed-URL. Damit nun die paar Leser die ich schon hatte nicht die neue URL in ihren Feed Reader eintragen müssen, habe ich mit dem Wordpress Plugin eine transparente Umleitung von der alten Feed URL auf die neue eingerichtet. Transparent heisst, das es weiter so aussah, dass die alte Feed URL vorhanden ist.

Und aus mir unerklärlichen Gründen funktionierte diese Umleitung seit dem 30.12.2008 nicht mehr. Mir ist dies aber heute erst aufgefallen. Den Fehler habe ich soweit es möglich war behoben. Jetzt sollte auch in allen Feed Readern wieder mein Content ankommen!

31
Dezember
Abgeheftet in: Website | Tags: , | 10:12 Uhr | 0

Platz 171 der Wordpress Plugins

Was man so nicht alles erfährt. Nach dieser Liste, welche nach Anzahl der Downloads sortiert ist, ist mein Lightview Plus Plugin auf Platz 171 aller Wordpress Plugins.

Wer hätte das gedacht…

8
Dezember
Abgeheftet in: Website | Tags: , , , | 18:12 Uhr | 4

Lightview Plus V2.0

Nach einer Ewigkeit habe ich an meinem Wordpress Plugin weitergearbeitet und es endlich auf die Version V2.0 gehieft. Jetzt werden nicht nur Bilder in schöner Lightview-Manier angezeigt, sondern auch Videos von YouTube und Vimeo.

Einen Pferdefuß hat das Plugin aber. Aus Lizenzgründen muss man das Javascript von Lightview von Hand in das Plugin-Verzeichnis kopieren. Christoph merkte an, dass durch ein Update über Wordpress, das hineinkopierte Javascript gelöscht wird. Und ohne Javascript bringt das ganze Plugin nicht.

Einem Kerl aus China scheint auch genau dieses Problem widerfahren sein und er beschwert sich in den Kommentaren. Und ich wette darauf, dass sein Job es ist, manuellen Kommentarspam in Blogs zu schreiben. Wie ich darauf komme? Als eMail-Adresse gab er eine Fake-eMail-Adresse an und sein Name ist “Hot Girl”.

Wie auch immer, mit der kommenden Version werde ich etwas einführen, dass das Javascript nicht immer neu hinkopiert werden muss und es werden lokale Videos unterstützt werden.

Aber eine Frage habe ich an die Leute da draußen noch! Wie bekomme ich in HTML einen Play-Button über ein Bild gelegt? Für sachdienliche Hinweise wendest man sich bitte an mich.

UPDATE: Total vergessen zu erzählen. Zehn Minuten nachdem ich das Plugin in das Wordpress-Repository geschoben habe, kam schon die italienische Übersetzung. Heute trudelte die französchiche ein. Und eine Spende ist auch schon eingetroffen. Ich muss sagen, dass es gut läuft :D

1
Dezember
Abgeheftet in: Angesurft | Tags: , , , , | 17:12 Uhr | 5

Simpsons vs. Apple

In der neuen Staffel 20 der Simpsons, die gerade in den USA angelaufen sind, wird in Folge 1 direkt über Apple hergezogen. Und ja, man erkennt den Konzern und die Kunden (ich zähle mich dazu) irgendwie wieder.

Und damit ich direkt einen Grund habe, die aktuelle Beta Version 2.0 von meinem Lightview-Plus Plugin für Wordpress (nur per eMail im Moment erhältlich ;) ) zu nutzen, die jetzt mit einer Video-Option daher kommt, füge ich doch mal direkt das YouTube Video ein.

Simpsons vs. Apple
YouTube - Simpsons vs. Apple

UPDATE: YouTube hat wieder dieses Video entfernt. Jetzt noch einmal, aber eine kürzere Version. Wenn die wieder bei YouTube gelöscht wird, dann aktualisiere ich nicht mehr…

9
September
Abgeheftet in: Website | Tags: , , | 17:09 Uhr | 0

Wordpress Update auf 2.6.2

Update auf Wordpress 2.6.2 vollzogen. Dauer knapp zwei Minuten, dank meiner kleinen Dokumentation frei nach c’t Art.

Neuerungen gibt es keine, dafür aber werden Sicherheitslücken gestopft. Bei heise.de und im Wordpress-Blog findet man mehr dazu!

22
Juli
Abgeheftet in: iPhone | Tags: , | 10:07 Uhr | 1

WP-Client im App-Store

Seit heute gibt es im iPhone App-Store und das kostenlos. Bei mir stürzte dieser permanent ab. Ein Neustart des iPhones brachte zunächst auch nichts. Der Fehler tritt dann auf, wenn man deutsche Umlaute im Text eingibt. Umlaute müssen daher im HTML-Code eingegeben werden.

Dies ist aber nun mein erster Eintrag mit dem Client. Alles ist sehr einfach gehalten, aber ausreichend. Bilder kann man auch hiermit posten.

Ich hoffe, dass an der Stabilität noch gefeilt wird und Umlaute unterstüzt werden.

photo

Hanging Monk