toscho.design

WordPress: Grundeinstellungen per Plugin setzen

Wer öfter mal ein WordPress-Blog installiert, weiß die vielen Einstellungsseiten nicht unbedingt zu goutieren. Ich habe mir dafür ein kleines Plugin geschrieben, das die wichtigsten Optionen auf einen Schlag setzt, die Blogroll (Linkliste) leert und die Dummytexte löscht:

<?php
/*
Plugin Name: Toscho's basic settings
Plugin URI: http://toscho.de/2010/wordpress-grundeinstellungen-per-plugin-setzen/
Description: Some useful default configuration settings. See 'wp-admin/options.php' for more options.
Version: 0.3
Author: Thomas Scholz
Author URI: http://toscho.de
*/

function set_toscho_defaults()
{
    global $wpdb;
    $o = array(
        'avatar_default'            => 'blank',
        'avatar_rating'             => 'G',
        'category_base'             => '/thema',
        'comment_max_links'         => 0,
        'comments_per_page'         => 0,
        'date_format'               => 'd.m.Y',
        'default_ping_status'       => 'closed',
        'default_post_edit_rows'    => 30,
        'links_updated_date_format' => 'j. F Y, H:i',
        'permalink_structure'       => '/%year%/%postname%/',
        'rss_language'              => 'de',
        'timezone_string'           => 'Etc/GMT-1',
        'use_smilies'               => 0, 
        'start_of_week'             => 1
    );

    foreach ( $o as $k => $v )
    {
        update_option($k, $v);
    }

    // Delete dummy post and comment.
    wp_delete_post(1, TRUE);
    wp_delete_comment(1);
    
    // empty blogroll
    $wpdb->query("DELETE FROM $wpdb->links WHERE link_id != ''");

    return;
}
register_activation_hook(__FILE__, 'set_toscho_defaults');

Dieses Plugin aktivieren, deaktivieren und löschen. Fertig.

Nachtrag: Dieses kleine Plugin hat jetzt auch seine eigene GitHub-Adresse: http://github.com/toscho/WordPress-Basic-Settings.

21 Kommentare

  1. Micha am 29.01.2010 · 20:47

    Das ist mal wieder eine geniale Idee. Warum kommt man nicht selbst auf so naheliegende Dinge...
    Danke!

  2. Fabian am 31.01.2010 · 13:42

    Echt ne schöne Idee! Je nachdem wie oft man WP installiert auch sehr nützlich. Hätte aber noch einen Vorschlag: Den Default-Beitrag "Hallo Welt" inklusive Kommentar zu löschen. Müsste sicherlich über die WP-Datenbank Klasse zu schaffen sein.

  3. Thomas Scholz am 31.01.2010 · 14:04

    @Fabian: Das ist eine gute Idee! Habe ich gleich ergänzt.

  4. Oliver Schlöbe am 31.01.2010 · 15:16

    Hey Thomas,

    schöne Idee! Vielleicht wäre die Standardkategorie auch noch eine Sache für dein Plugin. Die heißt ja Uncategorized, ist also englisch und nichtssagend, und könnte evtl. auch geupdated werden:

    $catdata = array();
    $catdata['cat_ID'] = 1;
    $catdata['cat_name'] = 'Allgemein';
    $catdata['category_nicename'] = 'allgemein';
    $catdata['category_description'] = 'Standard-Kategorie für allgemeine Beiträge';
    wp_update_category( $catdata );
    
  5. Thomas Scholz am 31.01.2010 · 17:18

    @Oliver Schlöbe: Wenn man WordPress von wordpress-deutschland.org bezieht, dann heißt die schon »Allgemein«. Da sehe ich jetzt keinen Korrekturbedarf.

  6. Frank am 31.01.2010 · 18:00

    @Micha: Du hättest mein Buch besser lesen sollen, da steht sowas drin mit einigen Möglichkeiten mehr ;)

  7. Oliver Schlöbe am 31.01.2010 · 19:23

    @Thomas Scholz: Tatsache. Gut, dann vergiss meinen Kommentar und meine Existenz. *jedi trick* :-)

  8. Micha am 31.01.2010 · 19:41

    @Frank, sorry, habs nur überflogen.

  9. Herbi am 02.02.2010 · 10:02

    @Fabian:

    Mit der neuen WordPress-Version (2.9) soll der "Hallo Welt"-Artikel laut weblogtools collection durch etwas nützlicheres ersetzt werden. Es soll einen Link zur Mailingliste enthalten sein, die über neue WordPress Versionen informiert und eine Liste über erste Einstiegsmöglichkeiten in WordPress.

  10. Thomas Scholz am 02.02.2010 · 10:50

    @Herbi: Wer oft WordPress installiert, der braucht das nicht.

  11. Thomas Scholz am 15.02.2010 · 18:40

    Zwei Nachträge: 1. Der Wochenbeginn ist jetzt der Montag, und die Blogroll wird geleert.

  12. ad am 24.02.2010 · 15:42

    Das ist ja mal cool! Danke!

  13. Fabian am 06.03.2010 · 11:38

    Wolltest du die von WP erstellte Seite nicht auch gleich löschen? Durch die gestrige WP-Installation konnte ich deine Idee endlich mal ausprobieren - wirklich praktikabel wird es natürlich erst, wenn man WP oft installiert.

  14. Thomas Scholz am 06.03.2010 · 13:07

    @Fabian: Die wandle ich normalerweise gleich zum Impressum um. Sie bleibt, damit ich das nicht vergesse.
    Du kannst aber leicht eine Ergänzung schreiben:

    // Dummy-Page löschen
    wp_delete_post(2, TRUE);
  15. Jürgen Schnick am 09.04.2010 · 17:07

    Gute Idee, vor allem die Tatsache, dass das Plugin nach Benutzung gleich wieder gelöscht wird, gefällt mir ausgesprochen gut. Viele Blogs schleppen ja heute ein Dutzend oder mehr Plugins mit sich herum und der Blogger wundert sich, warum das Blog immer langsamer wird.

    Ich bin allerdings auch der Meinung, dass man dieses Plugin nicht wirklich braucht, wenn man regelmässig Blogs für andere Blogger einrichtet, weil da vieles Routine ist.

    Trotzdem grundsätzlich ein sehr gute Idee.

    Gruß
    Jürgen Schnick

  16. Thomas Scholz am 09.04.2010 · 18:23

    @Jürgen Schnick: Genau weil das Routine-Aufgaben sind, habe ich sie gebündelt. Was spricht denn dagegen, stets wiederkehrende Schritte zusammenzufassen?

  17. Holger am 13.08.2010 · 07:34

    Zum Glück habe ich das jetzt gefunden! Vielen Dank für den Tipp!

    Ich muss die nächsten Tagen 20 Blogs installieren und da ist sowas perfekt! Erspart mit eine Menge Arbeit. :-)

    Super wäre, wenn man gleich noch div. Plugins konfigurieren könnte... mal überlegen! ;-)

  18. Tobias am 17.11.2010 · 07:26

    @Thomas: Super Ansatz. Gibt es auch die Möglichkeit, Grundeinstellungen von diversen Plugins zu setzen? Das wäre das i-Tüpelchen. Hast Du das schon einmal probiert?

  19. Thomas Scholz am 17.11.2010 · 07:35

    @Tobias: Klar, du mußt nur herausfinden, wie die Optionen des Plugins heißen. Dann ergänzt du den Array $o um die entsprechenden Angaben. Fertig.
    Es kann passieren, daß ein später installiertes Plugin bei der Aktivierung die Optionen überschreibt. Probier es einfach aus.

  20. Nico am 15.12.2010 · 14:53

    gibt es eigentlich auch nen plugin welches sämtliche einstellungen für wordpress erledigt ? also einmaliges voreinstellen im plugin und dann nur noch mit hochladen?! wenn man mehrere blogs installiert nervt dieses ewige cutsomizen doch irgendwann richtig, genauso für die plugins, die kann man zwar per ftp schnell hochladen, aber dann muss man jedes wieder individuell einstellen *nerv*

  21. Alex am 30.10.2011 · 20:06

    @Thomas Scholz: Und genau DIESE Idee finde ich daran so super ;).