WP-CleanUmlauts2-Plugin – WordPress Permalinks Umlaute automatisch konvertieren
WordPress 3.3.1 ok!
Jeder, der sich mit WordPress beschäftigt und Permalinks nutzt, wird früher oder später bemerken, dass WordPress Umlaute verschluckt bei der generierung von Permalinks. Aus “Überraschungsei” wird dann “Uberraschungsei” oder aus “Anleitung: Verzeichnisse löschen” ein “anleitung-verzeichnisse-loschen”. Das sieht alles andere als schön aus und ist außerdem falsch.
Wer also nicht ständig die URL von Hand korrigieren möchte, kann hier mein Plugin verwenden. Es nimmt automatisch folgende Umwandlungen vor:
ä -> ae, ö -> oe, ü -> ue
Ä -> Ae, Ö -> Oe, Ü -> Ue
und ß -> ss
Auf Wunsch werden auch Umlaute in Kommentaren, Feeds oder Postings automatisch umgewandelt.
- Einstellungen anpassen
- Automatische Umwandlung von Umlauten
Download wp-cleanumlauts2 from WordPress repository
Ich habe das WP-CleanUmlauts-Plugin von Carsten Albrecht dahingehend angepasst, dass – dem Duden entsprechend – aus ‘ß’ ein ‘ss’ gemacht wird.
Carsten Albrecht selbst hat als Vorlage das o42-clean-umlauts-Plugin von Michael Renzmann genommen.
Bei Problemen oder Fehlern kann man sich jederzeit bei mir melden. Kommentare sind herzlich willkommen.
Versionen:
1.5.1 (13.02.2012)
- Getting rid of notices when debug mode is set to true. Thanks to Johannes Freudendahl.
1.3.2 (01.03.2011)
- Overcome unnecessary warning message
1.3.1 (25.02.2011)
- Make sure it still works with WordPress < 3.1
1.3 (25.02.2011)
- checked and fixed bug for WordPress 3.1 – ok
1.2
- checked for WordPress 3.0 – ok
1.1
- wrong coding of letter Ö corrected
1.0
- first version
WordPress: Send Administrator E-Mails to all you users with Email Users 2 Plugin (Emu2)
Tested with WordPress 3.2.1!
Now schedule your mails.
WordPress: Send email to users, manually or on schedule (digest of newest posts). Users can send emails to each other. Export function included. A plugin for wordpress which allows you to send an email to the registered blog users. Users can send personal emails to each other. Power users can email groups of users and even notify group of users of posts. With ability to schedule mails of the newest post in digest form.
STILL BETA!!!
- Settings
- Sending from post/page edit
- Sending from menu
- Extracting address lists
- Individual User Settings
- Schedule the digest mail
Download from WordPress repository
FAQ
Do you have other plugins?
Check out my other WordPress Plugins.
My provider/host/server does not seem to work with your plugin
OK, there are some administrator outside which treat their services very strict. Mass mailing can always be misused for spamming. That’s why you should ask your admin for current restrictions on mail sending. Pass their answers to me. And by the way, if you are starting a serious business than you should not put your website on a cheap mass web host without any personal support.
Problems with automatic sending. Why are some mails send by the hour instead daily or even three times in a row?
The build in scheduler of WordPress which I use in this plugin is not 100% reliable. This seems to be a bug. It’s already an issue in the bug tracking system of the WordPress developers. Have a look: http://core.trac.wordpress.org/. Emu2 is still beta. If you don’t want to get into trouble with your users I advice you to turn this automatic function off until the bug is fixed.
How can I give certain users the ability to use EMU2?
Scroll down in settings menu and you will find the different capabilities. You can assign them to different roles, hence to your users. I would advice you to use the plugin [User Role Eitor].
Where do I post my feedback?
Here
How can I support you?
That is nice of you. Donation link: http://1manfactory.com/donate
Will there ever be a real manual?
I don’t know. Maybe.
Changelog
0.83b (23.11.2011)
- adding spanish version – Thanks to Pablo Olave from Chile
0.82b (06.07.2011)
- tested with WordPress 3.2 -> ok
- fixed HTML link problem in visual editor
0.81b (10.06.2011)
- not sending empty mail without digest
- sending success mail to admin
0.80b (09.06.2011)
- NEW: Schedule a digest mail of the newest posts
- Put sender into to field when sending problems (optional)
- editing of templates moved to additional section
0.73b (30.05.2011)
- Bugfixing on sending of test mails
0.72b (30.05.2011)
- Test with WordPress 3.1.3 -> ok
- Bugfixing on missing Url information in sent mails
- changed default values from 0 to NULL to prevent possible errors
0.71b (24.04.2011)
- enhancing administration of user capabilities
0.70b (16.04.2011)
- some bug fixing with invalid from field values
- bcc limit variable
- choose your own sender name and address
- more translations
0.65b (07.04.2011)
- setting Return-Path
- setting Message-Id
0.64b (05.04.2011)
- implementing debug mode
- tested with WordPress 3.1
0.63b (09.02.2011)
- tested with WordPress 3.0.5
- additional translation
0.62b (04.02.2011)
- Translation of user roles
0.61b (04.02.2011)
- Debug Info in subject line removed (sorry for that)
0.60b (03.02.2011)
- UTF-8 Bug with german Umlauts fixed
- Ability to chose between server mail function and wordpress mail function
- new icon
0.54b (02.02.2011)
- Solving Dashboard Folding Bug
0.53b (02.02.2011)
- Some new translating.
- Improving Error messages when using different roles
0.52b (01.02.2011)
- fixed redeclare of function error
0.50b (27.01.2011)
- using build in wordpress function so sent mail
- adding screenshots
- translation update
- now with traceless deinstallation routine
0.42b (26.01.2011)
- HTML-Editor: fixing problems with media upload
0.41b (26.01.2011)
- Fixing small HTML-Editor bug
0.40b (22.01.2011)
- Using HTML-Editor (TinyMCE)
- Fixing small mail sending bug
- making screenshots
0.32b (10.01.2011)
- UTF-8
0.31b (10.01.2011)
- PLEASE UPDATE!!!
0.3b (10.01.2011)
- PLEASE UPDATE!!!
- wrong folders
0.2b (10.01.2011)
- first version, please test before productive using
WordPress 3.2 sucks on Opera
Damn, fuck,
Wordpress 3.2 LOOKS good on Opera. But the Visual editor tinymce just sucks now. I had the same problem von wordpress.com with their new version.
For what FUCKING reason ever I can’t type in visuell mode.
Quick: SquirrelMail und XAMPP lokal installieren und testen
Quick: SquirrelMail und XAMPP lokal installieren und testen
Wer Applikationen programmiert, die auch Mails verschicken, möchte dies natürlich auch lokal testen. Dazu lohnt es sich, den Webmail Client »SquirrelMail« zu installieren. Dieser Artikel ergänzt mein XAMPP-Tutorial.
1. laden http://squirrelmail.org/download.php
2. entpacken nach »c:\Programme\xampp\htdocs\squirrelmail\« und anlegen von »c:\Programme\xampp\htdocs\squirrelmail\attach\«
3. kopieren der Konfigurationsvorlage »c:\Programme\xampp\htdocs\squirrelmail\config\config_default.php« nach »c:\Programme\xampp\htdocs\squirrelmail\config\config.php«
4. editieren von »c:\Programme\xampp\htdocs\squirrelmail\config\config.php«
$domain = 'localhost'; $data_dir = 'c:\\Programme\\xampp\\htdocs\\squirrelmail\\data\\'; $attachment_dir = 'c:\\Programme\\xampp\\htdocs\\squirrelmail\\attach\\'; $imapServerAddress = 'localhost'; $smtpServerAddress = 'localhost';
5. Testen
User anlegen in Mercury. In der Admin-Oberfläche: Configuration|Manage Local Users…|Add einen User anlegen. User in Mercury meint die eigentlichen Mail-Empfänger.
Einwählen: http://localhost/squirrelmail/src/login.php
Name: Username (ohne @localhost)
Passwort: (wie festgelegt)
Mail zusenden: http://localhost/xampp/mailform.php (Adressat=Ihr neuer Nutzer PLUS @locahost). Die Mail müsste augenblicklich in SquirrelMail erscheinen, eventuell müssen Sie noch »Check mail« klicken.
- squirrelmail xampp login
- squirrelmail xampp send
- squirrelmail xampp check 1
- squirrelmail xampp check 2
WordPress und XAMPP tunen
XAMPP ist lokal und in der Standardausführung nicht sehr schnell. Daher lohnt es sich, Hand anzulegen.
Zunächst müssen wir wissen, wie langsam (oder schneller) unser System läuft. Dazu editieren Sie die WordPress Template Datei »footer.php«:
Direkt über </body> fügen Sie Folgendes ein:
<?php echo $wpdb->num_queries; ?> database queries in <?php timer_stop(1); ?>
Spielen Sie am besten ein bisschen herum, um ein Gefühl für »gute« Werte und Zeiten zu erhalten.
Laden und aktivieren Sie verschiedene Plugins, um zu prüfen, wie unterschiedlich sich die Werte entwickeln.
Bei besonders vielen SQL-Statements (auch Queries genannt), lohnt es sich, die Plugins schrittweise zu deaktivieren und zu prüfen, ob schlecht programmierte Plugins mit zu vielen Datenbankabfragen nicht durch Alternativen ersetzt werden können
Besonders verdächtig sind meiner Erfahrung nach Plugins, die die letzten Kommentare oder vergleichbare Artikel anzeigen, da diese bei jedem Aufbau der Seite generiert werden (wenn kein Cache läuft).
Testen Sie auf alle Fälle ein Cache-Plugin (ich empfehle wegen der einfachen Wartbarkeit wp-supercache). Ein Cache-System speichert bereits generierte HTML-Seiten in einen Zwischenspeicher ab, so dass diese nicht immer wieder neu generiert werden müssen.
Für Entwickler empfehle ich noch das Plugin »Debug Queries«. Dieses listet alle generierten SQL-Statements auf der Frontend-Seite auf. Dazu muss noch in der Datei »wp-config.php« was angepasst werden:
define(‚SAVEQUERIES‘, true);
Empfohlene Einstellungen
php.ini
Ort: C:\Programme\xampp\php\php.ini
memory_limit = 1024M
my.ini
Ort: C:\Programme\xampp\MySQL\bin\my.ini
key_buffer = 256M max_allowed_packet = 16M table_cache = 512 sort_buffer_size = 4M read_buffer_size = 4M read_rnd_buffer_size = 8M net_buffer_length = 2M innodb_buffer_pool_size = 256M
Wenn Sie merken, dass der Server langsam ist, können Sie in phpMyAdmin unter »Status« überprüfen, welche Parameter momentan Probleme bereiten. Diese werden rot hinterlegt. Anschließend sollte der Speicherplatz dafür erhöht werden.
Zur gezielteren Analyse muss man natürlich WP-Supercache zumindest für Admins deaktivieren, weil die Ergebnisse sonst verfälscht werden.
Und nicht vergessen: Es klappt nur, wenn man Apache und/oder MySQL nach jeder Änderung neu startet.
Zum Nachschlagen
WordPress Quick: Only show excerpt on homepage
You don’t want to show the complete post on you homepage? Then why not show visitors only an excerpt and let them click for the whole post?
Open your template file , eg.g index.php and search for term “the_content” then replace it with “the_excerpt”
<?php
if (is_search()) {
the_excerpt();
} else {
//the_content(__('Read the rest of this entry »', 'kubrick')); // old way
the_excerpt(); // new way
}
?>
If you want a better control over “the_excerpt” then you should use Advanced Excerpt plugin. It will leave HTML untouched and give let you edit the more-caption as well.
WordPress Quick: Place addthis manually
You like the addthis plugin for WordPress? But prefere to place it manually?
Open your template file, e.g. “single.php”, and place this where you want:
<?php do_action( 'addthis_widget', $url, $title, 'share_counter');? >
You can replace “share_counter” with any other stile you like. It’s just the button style I like most.
XAMPP – Entwicklungsumgebung für Apache, MySQL, PHP auf Windows – Tutorial
XAMPP ist eine Distribution von Apache, MySQL, PHP und Perl, die sich (fast) per Knopfdruck installieren und wenig Wünsche übrig lässt.
Ich zeige hier eine kleine Anleitung, die ich selbst auch nutze bei Neuinstalationen. Den Abschluss bildet eine Sammlung von Links Hinweisen zu nützlichen Ergänzungen.
Schritt 1 – Installation
Ich empfehle die EXE-Datei. Wir können beruhigt nach c:\programme\xampp installieren. Es ist nicht notwendig, dass C-Verzeichnis vollzumüllen. Alle Programme und zusätzliche »Addons« laufen dort problemlos: Eine Fehlermeldung (»xampp component status check failure«) beim Aufruf des XAMPP Control Panel kann ignoriert werden. Wen diese Meldung nervt, kann Folgendes tun:
- Registry Editor starten und den Schlüssel
- HKEY_LOCAL_MACHINE\SOFTWARE\xampp\Install_Dir aufrufen
- Den dort eingetragenen Wert ändern zu: »C:\xampp«. Damit sollte die unglückselige Fehlermeldung nicht mehr auftauchen.
- Installation 1
- Installation 2
- Installation 3
- Installation 4
- Fehlermeldung
- Firewall
- Firewall
- Firewall
Die Meldungen der Firewall sollten sie akzeptieren, sonst tauchen Sie immer wieder auf. Warum die Firewall von Microsoft Zugriffe auf den eigenen Rechner unterbindet, kann wohl nur Bill Gates selbst erklären.
Schritt 2 – Es geht los
Wir starten das XAMPP Control Panel. Die Funktionen dort sollten selbsterklärend sein. Wenn man die wichtigsten Komponenten Apache und MySQL gestartet hat, kann man das Control Panel in den Hintergrund bzw. in die Systray wegklicken.
Die Konfiguration von XAMPP und seinen Komponenten erfolgt in verschiedenen Konfigurationsdateien. Eine Auflistung findet sich weiter unten.
Wir prüfen jetzt, ob alles erstmal geklappt hat. Dazu starten wir Apache, MySQL und Mercury. Mercury ist ein Mailserver, den man nicht unbedingt braucht, aber die Funktionsfähigkeit sollte wenigstens einmal getestet werden.
Nehmen Sie ihren Browser und laden Sie die URL »http://localhost«. »Localhost« ist eine Abkürzung für ihren eigenen Rechner bzw. für die Adresse ihres eigenen Rechners. Sie können auch »http://127.0.0.1« eingeben.
Wenn der erste Aufruf erfolgreich war, dann würde ich jetzt einige Änderungen in der php.ini (der Konfigurationsdatei für den PHP-Interpreter) vornehmen. Die Datei befindet sich unter »C:\Programme\xampp\php\php.ini«.
Passen Sie dort an bzw. entkommentieren folgendes:
- short_open_tag = On
- extension=php_curl.dll
- variables_order = “EGPCS”
- error_reporting = E_ALL
Damit die Änderungen Wirkung zeigen, muss Apache natürlich neu gestartet werden. Das erledigen Sie über das Control Panel.
- XAMPP Control Panel
- XAMPP localhost Startbildschirm
- XAMPP localhost
- XAMPP Status
- XAMPP Sicherheitscheck
- XAMPP Sicherheitscheck
Sie sollten auch nicht vergessen, den Sicherheitscheck auszuführen. Die Punkte dort sind selbsterklärend. Im Allgemeinen sollte es aber reichen, wenn Sie für MySQL einen root-Nutzer anlegen.
Schritt 3 – Warm werden mit XAMPP
Einige wichtige Standardprogramme bzw. Webapplikationen werden schon mitgeliefert. Am Anfang dürfte das wichtigste wohl phpMyAdmin sein. Hierbei handelt es sich um den am weitesten verbreiteten Web-Client zur Verwaltung von MySQL-Servern. Bei XAMPP wird er gleich mit ausgeliefert http://localhost/phpmyadmin/.
Den »root«-Nutzer sollte man tunlichst nur nehmen, um Datenbanken oder neue Nutzer anzulegen. Für neue Projekte, bspw. WordPress, erzeugt man einen Nutzer und wählt die Option »Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte«.
- Mercury Mail
- phpinfo
- phpMyadmin
- phpMyAdmin
- phpMyAdmin
Schritt 4 – Einrichtung des Mailserver Mercury
Diesen Mailserver kann man nutzen, wenn man Applikationen schreibt, die Mails verschicken, z.B. Newsletter. Allerdings ist dieser Server – wie das gesamte XAMPP-Projekt auf Windows – nur für Entwicklungsumgebungen ausgelegt. Auf Produktivsystemen sollte man m.M. nach lieber auf Linux bzw. LAMPP zurückgreifen.
Bei richtiger Programmierung sollte man ohne Probleme alle Skripte in PHP auf allen System, egal ob Windows mit Internet Information Server (IIS) oder Linux mit Apache nutzen können.
Den Admin-Bereich von Mercury erreicht man über den Admin-Button in XAMPP Control Panel. Hier gehen wir folgende Schritte durch:
- Mercury-Webserver deaktivieren: Mercury|Configuration|Protocol Modules|MercuryB HTTP Haken entfernen und Mercury Neu starten
- Configuration|Mercury Core Modul|General Internetname for this system: localhost
- local mailbox directory path: C:\PROGRAMME\XAMPP\MERCURYMAIL\MAIL\~N
- Username of Postmaster: Admin
- Configuration|Mercury Core Modul local domains: localhost, localhost.net, localhost.com, localhost.org
- Configuration|Mercury Core Modul|General: Suppress validation of »FROM« field (Haken setzen)
- Configuration|MercuryS SMTP Server|General: Listen on TCP/IP Port:25
- IP-Interface to Use: 127.0.0.1
- Configuration|MercuryS SMTP Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)
- Configuration|MercuryS POP Server|General: Listen on TCP/IP Port:110
- IP-Interface to Use: 127.0.0.1
- Configuration|MercuryS POP Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)
- Configuration|MercuryI IMAP4 Server|General: Listen on TCP/IP Port:143
- IP-Interface to Use: 127.0.0.1
- Configuration|MercuryI MAP4 Server|Connection Control: Add restriction: Allow Connections 127.0.0.1-127.0.0.1 (keine Haken setzen)
Auch wenn Mercury nicht danach verlangt, sollte man nach Änderungen in der Konfiguration den Server nochmal neu starten.
Damit nun über XAMPP auch tatsächlich Mails verschickt werden können, muss man in der php.ini noch etwas nachtragen.
Suchen Sie nach »[mail function]« und ergänzen folgendes:
- SMTP=localhost
- smtp_port=25
- sendmail_from = admin@localhost
Schritt 5 – Wohin mit den Dateien?
Wenn Sie ein neues Web-Projekt starten, dann legen Sie einen neuen Ordner in »c:\Programme\xampp\htdocs\« an und kopieren dorthin alle ihre Dateien.
Anhang
Wichtige Programme
- Notepad++ – Ein sehr guter Gratis-Editor mit Projektverwaltung
- HeidiSQL – Ein Desktop-Client der ein schnelleres Arbeiten mit MySQL-Datenbanken ermöglichkeit als phpMyAdmin
- mysqldumper – Skriptsammlung zum Sichern und Einspielen kompletten MySQL-Datenbanken
Die wichtigsten Konfigurationsdateien
Den genauen Standort der einzelnen Dateien finden Sie auch unter http://localhost/xampp/phpinfo.php
- \xampp\apache\conf\httpd.conf – Apache Konfiguration
- \xampp\MercuryMail\mercury.ini – Mercury Konfiguration
- \mysql\bin\my.ini – MySQL Konfiguration
- \xampp\php\php.ini – PHP Konfiguration
- \xampp\phpMyAdmin\config.inc.php – phpMyAdmin Konfiguration
- \xampp\sendmail\sendmail.ini – Sendmail, als alternative zu Mercury
Die wichtigsten Pfade
- \xampp\htdocs
- \xampp\MercuryMail\MAIL
- \xampp\mysql\data
Fehlersuche
Es empfiehlt sich – wie überall – die Logfiles zu checken. Nützlich ist dabei eine Software wie mtail, die Logfiles beobachtet und nur die Änderungen in Echtzeit anzeigt.
Die wichtigsten Logfiles
- \xampp\apache\logs\error.log
- \xampp\FileZillaFTP\Logs
- \xampp\MercuryMail\LOGS\
- \xampp\mysql\data\mysql.err
- \xampp\sendmail\sendmail.log
Wenn es noch Fragen gibt, immer her damit.
Quick ‘n dirty: Adsense von Hand in WordPress Theme einbinden
Ich zeige euch hier eine schnelle Methode, um Adsense-Code von Hand in WordPress-Templates einzubinden.
Zwar gibt es dafür auch eine Menge mehr oder weniger guter Plugins, aber jeder weiß, man sollte seine WordPress Installation nicht mit zu vielen Plugins verlangsamen.
Und am schnellsten geht es, wenn ihr euren Adsense Code direkt ins Theme/Template schreibt.
Vorgehensweise:
- Im Editor folgende Datei aufrufen: wp-content/themes/theme/single.php
Das kann man entweder lokal machen und die Datei dann per FTP hochladen oder auch schnell im Template-Editor von WordPress - Suchen nach folgenden Befehls-Code:
the_content
Mit diesem Befehl wird der Inhalt des Postings augespuckt.
- Eigenen Adsense-Code einfügen
Wenn ihre euren Adsense_Code unmittelbar vor diesem Befehl platziert hat es noch den zusätzlichen Vorteil, dass die Werbung nur in Artikeln (Posts) und nicht auf Seiten, auf denen ihr vielleicht eurer Impressum habt, eingesetzt wird.
Damit das Banner nicht so direkt am Text klebt, packen wir noch ein bisschen CSS drum herum:
<div style =”text-align: left;padding-bottom:20px;padding-right:20px;padding-top:20px;float:left;”>
Das ganze sieht dann so aus wie auf dem Screenshot. Packt den Code (gelbes Rechteck) einfach zwischen die beiden mit roten Pfeilen markierten Stellen - Fertig
Und immer daran denken, Google lässt eh nur 3 Banner pro Seite zu
Give feedback on errors with the WordPress Settings API
After working with the WordPress Settings API I first found no easy way out to give feedback on errors.
As a lot of you I was reading the tutorials from David Gwyer, Ozh, BobGneu and Otto, but none of them gave proper information on how to pass the error messages to the user when theie values fail the validation test.
BUT…. I found a somehow quick but practicable way to bypass the lack of user validation information.
Take the sanitize function you call from register_setting which is responsible to check the values:
<?php
function myplugin_options_validate($input) {
// use $input['error'] and $input['message'] for error messages
$input['error'] = false;
$input['message'] = '';
# do some regex validation
if (1=!1) { // yes we have an error
$input['error'] = true;
$input['message'] = 'you have got an error: 1!=1';
}
return $input;
}
?>
Now go to the function which creates the settings form (most called via add_options_page) and check with $_GET['settings-updated'].
<?php
function myplugin_options_page() {
if ($_GET['settings-updated']) { // yes, settings have been changed
if ($_GET['settings-updated'] && $options['error']) {
print '<div>'.$options['message'].'</div>';
}
}
?>
That’s it.































