WordPress Admin Menü spinnt im Chrome 45 – Fix

Mit der Chrome Version 45 spinnt das Menü im WordPress Admin beim Hovern. Durch folgenden Schnipsel in der functions.php eures Themes könnt ihr die verursachende Animation deaktivieren und könnt eure Menü wieder wie gewohnt nutzen.


add_action('admin_enqueue_scripts', 'chrome_admin_fix');
function chrome_admin_fix() {
	if ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Chrome' ) !== false )
		wp_add_inline_style( 'wp-admin', '#adminmenu { transform: translateZ(0); }' );
}

Weiterlesen

WordPress: Query nach Meta Wert sortieren

Mit den Benutzerdefinierten Feldern bei WordPress lassen sich tolle Sachen umsetzen. Und natürlich kann man auch genau nach diesen seine Query Basteln und sortieren.

 $options = array(
        'post_type' => 'geraete',
        'orderby' => 'rand',
        'posts_per_page' => 100,
        'meta_key' => 'preis',
        'orderby' => 'meta_value_num',
        'order' => 'ASC'
    );
    $query = new WP_Query($options);

Über den Parameter „orderby“ kann man mit den Werten meta_value oder meta_value_num festlegen ob eine numerische Variable sortiert werden soll.

Weiterlesen

PHP: Upload Limit erhöhen

upload limit
PHP hat einen Standardwert von 2MB für einen Dateiupload. Damit kann man heutzutage natürlich nicht viel anfangen und sprengt dieses Limit bereits mit einem Foto. Um das Upload LImit zu erhöhen gibt es verschiedene Wege:

1. PHP.ini

Also erste Möglichkeit könnt ihr die php.ini bearbeiten.  Diese Möglichkeit setzt für euren kompletten Server die Werte, also nicht immer die richtige Wahl.
Geht in die PHP.ini (/etc/php5/apache2/php.ini) und ändert die folgenden Werte:

upload_max_filesize = 10M
post_max_size = 10M

2. .htaccess

Weiterhin habt ihr die Möglichkeit die Upload Limits über die Htaccess einzustellen. Vorteil der HTACCESS Lösung: Upload Limits können für Ordner / Bereiche individuell festgelegt werden. Öffnet die .htaccess für den notwendigen Bereich und fügt folgendes ein:

php_value upload_max_filesize 10M
php_value post_max_size 10M

3. @ini set

Nicht immer aktiviert aber durchaus auch eine gängige Methode sind die ini_sets. Einfach innerhalb des Upload Scripts diese 2 Zeilen einfügen:

@ini_set( 'upload_max_size' , '10M' );
@ini_set( 'post_max_size', '10M');

4. eigene PHP.ini

Bei manchen Hostern auch durchaus gebräuchlich, sind eigene PHP.ini Dateien in den Verzeichnissen. Erstellt in euerm Scriptordner eine Datei mit dem namen „php.ini“ und fügt folgende Zeilen ein:

file_uploads = On
upload_max_filesize = 64M
post_max_size = 64M

upload_max_filesize = 64M
post_max_size = 64M

Weiterlesen

WordPress auf echten Cronjob umstellen

WordPress hat ein kleines Cronjob System integriert – Es erledigt bestimmte aufgaben in bestimmten Intervallen. So werden beispielsweise Updates im Hintergrund gesucht, der Cache geleert oder ein Email-Artikel erstellt. Die Aufgaben werden unauffällig im Hintergrund ausgeführt und sorgen für ein gut funktionierenden Blog.

Doch gibt es einen kleinen Schwachpunkt, die Ausführung findet nur statt wenn auch ein Besucher da ist. Denn bei jedem Besucheraufruf schaut der WP-Cron nach: Gibts Arbeit für mich? Fehlt natürlich der Besucher, dann gibts auch keine Ausführung der Aufgabe. Generell ist dies nicht weiter schlimm, sofern die Aufgaben nicht zeitlich gebunden sind. Möchte man aber z.b. exakt 00:00 Uhr seine Statistiken vom Vortag schreiben, dann wird es problematisch.

Die Abhilfe ist jedoch recht einfach, man legt einen echten Cronjob an und lässt diesen aller 30 Minuten den WordPress-Cronjob ausführen. Dann werden alle Aufgaben garantiert in gleichen Intervallen erledigt. Noch dazu kann man den normalen Wp-Cron der bei jedem Besuch im Hintergrund mitläuft deaktivieren – das spart nochmal etwas Rechenleistung.

WP-Cron deaktivieren
In der wp-config.php fügt ihr im oben Bereich folgende Zeile ein:

define('DISABLE_WP_CRON', true);

 

Cronjob einrichten

Damit die wp-cron.php von deinem WordPress auch regelmäßig ausgeführt wird musst du einen „echten“ Cronjob erstellen. Das machst du entweder bei einem Cronjobservice (z.B. cronjob.de) oder falls du Konsolen Zugang hast über einen Linux Cronjob.

Die Crontab öffnen

nano /etc/crontab


Jetzt eine neue Zeile erstellen

*/30 * * * *  wget -q - http://www.deinblog.de/wp-cron.php 

Der erste Block */30 steht für die Minuten. In dem Fall jede Minute die durch 30 ohne Rest teilbar ist, daher wird der Job 2 mal die Stunde ausgeführt. Möchte man es aller 5 Minuten ausführen steht dann */5. Man kann die gewünschten Minuten aber auch kommagetrennt auflisten, z.B. 0,15,30,45.

Weiterlesen

WordPress: Anzahl an Revisionen begrenzen / Revisionen deaktivieren

Die Versionierung von Beiträgen ist ein geniales Feauture und erleichtert einem den Alltag. Jedoch produziert sie auch mächtig Datenmüll in der Datenbank.

Bei jedem Speichern kopiert WordPress den aktuellen Stand des Beitrags und legt diesen in der Datenbank ab. Hat man einen Post immer mal wieder editiert / erweitert, dann hat man recht bald 10 oder mehr Datenbankeinträge zu diesem Post.

Um das Verhalten der Revisionen zu ändern geht in die wp-config.php und fügt folgendes hinzu:

Revisionen auf 5 Stück pro Post begrenzen:

define('WP_POST_REVISIONS', 5);

Revisionen deaktivieren

define('WP_POST_REVISIONS', false);

Weiterlesen

WordPress: Kategorie aus Feed ausschließen

Wenn du im Feed bestimmte Kategorien nicht haben möchtest, so kannst du dir entweder unzählige Plugins installieren oder einfach einen Schnipsel in deine Functions.php einfügen.

Die Vorgehensweise ist eigentlich recht einfach, es wird ein Filter für die allgemeine Query pre_get_posts Funktion gesetzt. Dort wird geprüft ob gerade ein Feed ausgegeben wird. Ist dem so, dann wird die Kategorie mit der ID 5 ausgeschlossen.


function sl_exclude_from_feed($query) {
    if ($query->is_feed) {
        $query->set('cat','-5'); 
    }
return $query;
}

add_filter('pre_get_posts','sl_exclude_from_feed');

Das ganze funktioniert auch wunderbar wenn man aus der Suche eine Kategorie ausschließen möchte.

Weiterlesen

WordPress: Copyright im Footer entfernen

Bei den meisten Themes ist im Footer ein Hinweis auf den Author des Themes oder auch auf WordPress selbst eingebaut.

So zeigen die Standard Themes in der Regel: Stolz präsentiert von WordPress .

Jedoch ist dieser Hinweis nicht immer erwünscht und macht es sogar Hackern einfacher einen WordPress Blog zu finden (google: „site:.de stolz präsentiert von WordPress“).

Das Entfernen ist schnell gemacht. Mit dem FTP Client (oder Admin->Design->Editor) die Datei Footer.php eures Themes öffnen und folgendes Entfernen:

<a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentytwelve' ) ); ?>" title="<?php esc_attr_e( 'Semantic Personal Publishing Platform', 'twentytwelve' ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentytwelve' ), 'WordPress' ); ?></a>

Darf ich es überhaupt entfernen? Aufgrund der GPL Lizens unter der WordPress veröffentlich wird ist eine Entfernung des Hinweises kein Problem. Wer will kann WordPress aber einen Backlink im Impressum spendieren.
Anders sieht es natürlich bei anderen Themes aus, hier sollten unbedingt die Lizensbedingungen studiert werden, sonst kann es schnell zu einer Abmahnung kommen.

Weiterlesen

WordPress: Anzahl an Queries und Erstellungszeit ausgeben

Über denn Sinn lässt sich hier streiten, aber s0 manch einen Entwickler interessiert es wieviele Queries für die vollständige Erstellung der Seite benötigt wurden. WordPress zählt diese praktischerweise schon mit, man muss sie nur ausgeben. Ebenso lässt sich die Zeit ausgeben, wie lange der Server benötigte die Inhalte zusammenzusezten.

Geht in den Footer eures Themes und fügt folgenden Schnipsel ein:

<?php echo get_num_queries(); ?>
 Abfragen in 
<?php timer_stop(1); ?>
 Sekunden.

So ergibt die Startseite von Schnipsellager folgende Ausgabe: 31 Abfragen in 0,263 Sekunden.
Eine Menge Queries – wenig Zeit.

Weiterlesen

WordPress: Kategorien aus der Suche ausschließen

Die WordPress Suche durchsucht von Haus aus, alle Posts und Seiten. Möchtest du aber eine bestimmte Kategorie von der Suche ausschließen, so ist dies problemlos mit einem kurzen Schnipsel möglich.

Die IDs der jeweiligen Kategorie bekommt ihr im Admin beim Editieren raus. Wählt eine Kategorie zum bearbeiten aus und schaut anschließend in die Browserleiste. Dort solltet ihr etwas sehen wie blablabl&TAG_id=3.
Habt ihr die IDs der Kategorien die ihr ausschließen wollt, öffnet die functions.php eures Themes und fügt folgenden Code ein (natürlich Kategorie IDs ersetzen):

function sl_filtercats($query) {
  if ( $query->is_search) {
    $query->set('cat','-3'); 
  }
  return $query; 
}
add_filter('pre_get_posts','sl_filtercats');

Weiterlesen