[How To] (De-)register a Style Sheet in WordPress

How do register styles

Just like JavaScript, CSS files shouldn’t be added to WordPress directly, but by using the WordPress API.

If you want to add your own CSS file to WordPress, there are two method calls you should be aware of:

wp_register_style
wp_enqueue_style

the usage is pretty simple:

wp_register_style('css-name', 'location-to-your-css-file', __FILE__), array(), 'version-number', 'screen');
wp_enqueue_style('css-name');

this will register your CSS file and add it to the site header.

How to deregister styles

Now, if you want to get rid of a Style Sheet that is added by your theme or a plugin you use, there is also a simple way to do that (given that the methods mentioned above are used to add the Style Sheet):

wp_deregister_style (unfortunately, no description is available on the WordPress site)

You will have to know the name with which the Style Sheet is registered. For example, if you use my jQuery Colorbox plugin and choose the first theme, the Style Sheet will be registered with the name “colorbox-theme1”.

Now, in order to deregister the Style Sheet, you’ll have to add the following lines to your functions.php:

add_action( 'wp_print_styles', 'custom_deregister_styles', 100 );
function custom_deregister_styles() {
  wp_deregister_style( 'colorbox-theme1' );
}

(links)
wp_register_style @ WordPress Codex
wp_enqueue_style @ WordPress Codex

[How To] Load Javascript in WordPress

If your WordPress plugin or theme uses JavaScript, it is essential to know how to include it so that you don’t break other JavaScript libraries or plugins/themes that use JavaScript.

The straight forward way to load JavaScript is of course to embed a script tag with the JS file as a src attribute:

<script src="my-plugin/js/jquery.js"></script>

Of course you can load your own custom JavaScript that way, but don’t do that if you are loading a JavaScript library! Check the list of JavaScript libraries supplied by WordPress. Do not include a library with your theme/plugin if WordPress already brings it along!!!

WordPress offers a nice and easy way to load JavaScript libraries, the wp_enqueue_script() function. If you are including a JavaScript file that depends on e.g. jQuery, you can just tell WordPress and it will load jQuery for you!

Example from my jQuery Colorbox plugin:

wp_enqueue_script('colorbox', plugins_url('js/jquery.colorbox-min.js', __FILE__), array('jquery'), '1.3.6');

I tell WordPress to load the Colorbox JavaScript library that depends on jQuery. WordPress makes sure that the jQuery library is loaded before my JavaScript is loaded so everything will work as expected.

(links)
wp_enqueue_script description @ WordPress
JavaScript libraries supplied by WordPress

[WordPress] Zeitzonen-Einstellung

Wenn man WordPress installiert, ist die Zeitzone automatisch auf GMT+1 eingestellt. (Unter Einstellungen -> Allgemein)

Das kann man zwar so verwenden und dann zur Sommerzeit manuell auf GMT+2 umstellen, aber einfacher ist es, wenn man direkt als Zeitzone die Stadt auswaehlt, die einem am naechsten ist, bei mir also Berlin. Mit dieser Einstellung kuemmert WordPress sich dann automatisch um die Umstellung zur Sommerzeit und Winterzeit.

Zeitzone GMT+1
Zeitzone GMT+1
Zeitzone GMT+2
Zeitzone GMT+2
Zeitzone Berlin
Zeitzone Berlin

[mac] Versteckte Applikationen im Dock durchsichtig darstellen

Auf dem Mac kann man den Ueberblick ueber offene Fenster schnell verlieren.

Hier kann es helfen, geoeffnete Applikationen mit Command-h zu verstecken. Damit man auf den ersten Blick sehen kann, welche Applikationen versteckt sind, kann man mit diesen beiden Befehlen das Icon einer versteckten Applikation durchsichtig darstellen. Wie immer im Terminal eingeben.

defaults write com.apple.Dock showhidden -bool YES
killall Dock

Die Einstellung kann man wieder zuruecksetzen, indem man die beiden Zeilen mit NO statt YES ausfuehrt.

Und so sieht es dann aus:

Versteckte Applikationen
Versteckte Applikationen

[mac] Dashboard deaktivieren

Ich verwende das mit 10.4 eingefuehrte Dashboard nicht, da ich keinen Sinn darin erkenne. Man kann das Dashboard mit Boardmitteln aber leider nicht abschalten.

Diese zwei Befehle ins Terminal eingegeben deaktivieren das Dashboard:

defaults write com.apple.dashboard mcx-disabled -boolean YES
killall Dock

aktivieren kann man das Dashboard wieder, indem man die zwei Zeilen mit NO statt YES ins Terminal eingibt.

(links)
Dashboard @ Wikipedia

[mac] JetBrains IntelliJ Idea

Zur Java Entwicklung nutze ich Idea von JetBrains. Das ist zwar teuer, aber um laengen besser als andere Java IDEs.

Da ich in meinem aktuellen Projekt vor einem schicken, neuen iMac sitze, musste ich mir anschauen, wie sich Idea in OSX einfuegt.

Unter Windows und Linux legt Idea die Verzeichnisse config und system brav wie im Readme beschrieben in einem versteckten Unterverzeichnis im Home-Verzeichnis des Nutzers ab. Die Datei, in der die JVM Settings abgelegt werden koennen (idea.exe.vmoptions bzw. idea.vmoptions), befindet sich im Installationsverzeichnis.

Im Readme steht zwar, dass es auf dem Mac genauso laufen sollte, aber nach dem ersten Start musste ich feststellen, dass sich das versteckte Verzeichnis nicht in meinem Home-Verzeichnis lag und ich konnte die Datei nicht finden, in die ich meine geliebten JVM Settings eintragen konnte… Nach einiger Recherche im Internet habe ich dann die richtigen Ordner gefunden.

Hier die Beschreibung aus dem Readme, die stimmt auch fuer Linux und Windows:

USER_HOME/.IntelliJIdea8x/

config/         Configuration files (See INSTALLATION_HOME/bin/idea.properties to tweak location of the configs)

system/         Various IDEA internal caches including Local History data storage.

Der Inhalt des Ordners system liegt hier:

/Users/arne/Library/Caches/IntelliJIDEA8x

und der Inhalt des Ordners config liegt hier:

/Users/arne/Library/Application\ Support/IntelliJIDEA80

und das Aequivalent zur idea.vmoptions liegt dann unter (das Idea Programm suchen und auf “Paketinhalte anzeigen” klicken, dann im Unterordner Contents schauen)

/Applications/IntelliJ\ IDEA\ 8.1.3.app/Contents/ Info.plist

einfach in einem Texteditor oeffnen. Ganz unten kann man dann die VMOptions angeben. Mit 4GB Ram in meinem iMac laeuft Idea mit den Einstellungen sehr gut:

<key>VMOptions</key>
<string>-server -Xms768m -Xmx768m -XX:MaxPermSize=196m -ea -XX:NewSize=196m -XX:MaxNewSize=196m -XX:SurvivorRatio=10 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseAdaptiveSizePolicy -XX:CMSInitiatingOccupancyFraction=30 -Xbootclasspath/a:../lib/boot.jar</string>

(links)
JetBrains

[WordPress] Suchmaschinenoptimierung mit dem All in One SEO Pack

Suchmaschinenoptimierung ist heute genauso wichtig wie der Inhalt der Website.

Es gibt verschiedene Plugins fuer WordPress, die bei der SEO (Search Engine Optimization) unterstuetzen koennen. Ich habe mich nach kurzer Pruefung fuer das All in One SEO Pack (AiOSP) entschieden.
Das Plugin ist kostenlos und erfuellt die meisten Anforderungen.

Meta-Tags und andere Dinge kann man WordPress-Weit in den Einstellungen automatisch einstellen, oder im AiOSP Widget fuer jeden Artikel und jede Seite einzeln setzen:

All in One SEO Pack Widget
All in One SEO Pack Widget

Worauf muss man achten?

Title

Der Titel-Tag der Seiten und Blogposts sind sehr wichtig. Er sollte auf jeden Fall den Inhalt der Seite treffend auf den Punkt bringen. Der Titel-Tag ist auch der Titel des Links in den Suchergebnissen.
Im Titel-Tag eines Artikels sollte auf jeden Fall der Titel des Artikels stehen (am Anfang!), ausserdem noch der Name der Website. Vielleicht koennte man noch etwas darin unterbringen, aber fuer mein Blog reicht mir das.
Das AiOSP verwendet dafuer (in dieser Reihenfolge) entweder den im AiOSP Widget angegebenen Titel, den in den allgemeinen Einstellungen automatisch erstellten Titel (per Default den Artikel-Titel und danach den Blog-Titel) oder den Titel, den WordPress generiert.

Description

Der Meta-Tag Description ist fast genauso wichtig wie der Title-Tag.
Der Inhalt des Meta-Tags wird von Suchmaschinen verwendet, um den Beschreibungstext anzuzeigen, der direkt unter dem Titel des Suchergebnisses erscheint.
Das AiOSP verwendet dafuer entweder die Description aus dem Widget, den Auszug des Artikels oder die ersten 160 Zeichen des Artikels. Da man fuer Seiten keinen Auszug angeben kann, bleiben nur die Moeglichkeiten, das Widget zu verwenden, oder die Description aus dem Inhalt der Seite erstellen zu lassen.

Keywords

Der Meta-Tag Keywords wird z.B. von Social Bookmark Seiten wie del.icio.us und anderen verwendet, um Tags fuer das Bookmark vorzuschlagen.
Das AiOSP verwendet dafuer entweder die Keywords, die man im Widget angibt, oder es werden die Tags vergeben, die fuer Seiten und Artikeln ueber WordPress gesetzt werden.

Doppelte Inhalte

Suchmaschinen moegen es gar nicht, wenn sie Inhalte doppelt auf Webseiten findet. Deshalb sollte man unbedingt das “noindex” fuer Artikel, Tags und Kategorien setzen, damit Suchmaschinen die dort angezeigten Inhalte nicht indizieren.

Einstellungen

Ich habe fuer techotronic.de die Defaults stehen lassen und alle Optionen angeschaltet:

All in One SEO Pack Einstellungen 01
All in One SEO Pack Einstellungen 01
All in One SEO Pack Einstellungen 02
All in One SEO Pack Einstellungen 02

Suchergebnis

So sieht das Suchergebnis auf Google.com ohne das All in One SEO Pack aus:

Google Hit ohne SEO
Google Hit ohne SEO

Optimierung

Mittlerweile lasse ich ja durch AiOSP die SEO-relevanten Tags in die Seite generieren. Hier ein Auszug aus dem Quellcode der Startseite:

<title>Software und WordPress Tipps - Techotronic</title>
<meta name="description" content="Tipps & Tricks rund um WordPress,
Software und andere Dinge, die mir wichtig erscheinen." />
<meta name="keywords" content="howto,mac,osx,software,
plugin,wordpress,linux,windows,techotronic,blog,java" />

Nun heisst es abwarten, bis Google wieder auf die Seite kommt, dann sollte das Suchergebnis ganz anders aussehen. :-)

(links)
All in One SEO Pack
SEO fuer Webmaster @ Google

[Mac] Versteckte Dateien im Finder anzeigen

Immer mal wieder moechte ich mir versteckte Dateien im Finder anzeigen lassen, in den Einstellungen des Finders kann man das aber leider nicht einstellen.

Relativ einfach kann die Einstellung das ueber das Terminal setzen:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

Die Einstellung kann man wieder rueckgaengig machen, indem man die o.g. Befehle mit FALSE statt TRUE aufruft.

Eben unter 10.6.1 getestet, funktioniert wunderbar!

(links)
OSXFAQ

[WordPress] Blog direkt ueber die Domain aufrufen

Wenn man WordPress nicht direkt in das Verzeichnis installiert hat, auf das die Domain verweist, sondern ein Unterverzeichnis, so kann man mit wenig Aufwand doch dafuer sorgen, dass das Blog direkt ueber die Domain erreichbar ist.

URL
URL

Unter Einstellungen > Allgemein kann man die URLs einstellen, unter denen die WordPress Installation erreichbar ist:

Einstellungen > URLs
Einstellungen > URLs

Die WordPress-Adresse sollte man nicht umstellen, hier ist das Admin-Interface erreichbar.
Die Blog-Adresse kann man nach dem naechsten Schritt dann auf die Domain reduzieren.

Erstmal kopieren wir die index.php aus dem Hauptverzeichnis der WordPress Installation ein Verzeichnis nach oben. (Das Verzeichnis, das direkt ueber die Domain aufgerufen wird).

Die Zeile

require(‘./wp-blog-header.php’);

muss dabei geaendert werden:

require(‘./wordpress/wp-blog-header.php’);

Nachdem man die Aenderung an der index.php vorgenommen hat, kann man die neue Blog-Adresse speichern und der Blog ist ohne das /wordpress erreichbar.

Einstellungen > URLs 2
Einstellungen > URLs 2

(links)
WordPress FAQ