WordPress Meetup Karlsruhe #2 am 3. Dezember

WP-Meetup-Karlsruhe-squareEs geht weiter! Nach dem ersten WordPress Meetup  in Karlsruhe folgt nun der nächste. Das Meetup wird im Vanguarde veranstaltet, ein Co-Working Space im Westen von Karlsruhe – Stadtteil Mühlburg – in einem alten Brauereigebäude (Seldeneck’sche Brauerei). Es geht um 19h los und soll bis 21h gehen, anschließend, für diejenigen, die noch gerne bleiben möchten, werden wir noch ein After-Meetup auf die Beine stellen.

Das Event wird von 1&1 gesponsort – Raummiete, Catering und Media. Die Organisation des Meetups wird von Commodore Room und SaaS Web übernommen.

Location
Vanguarde
Hardtstr. 37a
76185 Karlsruhe-Mühlburg
Datum / Zeit
03.12.2014
19h-21h

Hier geht es zur Anmeldung für das Event.

Hier geht es zur Event Website.

 

WordPress Meetup Karlsruhe #2

Das WordPress Meetup Karlsruhe ist das Treffen für WordPress-Nutzer, Entwickler und Designer, um sich in einem bequemen und ruhigen Ambiente auszutauschen und zu netzwerken. Wir legen Wert darauf, jede Veranstaltung zu einem Erlebnis werden zu lassen, an das sich die Teilnehmer auch gerne erinnern.

Das Vanguarde ist ein Café und Co-Working Space in Karlsruhe Mühlburg und bietet ein besonderes Ambiente für das Meetup.

Wir arbeiten aktuell an den Themen für das Meetup und werden in Kürze weitere Informationen zu den Vorträgen veröffentlichen.

WordPress Meetup Karlsruhe #1

Das erste WordPress Meetup in Karlsruhe wird von SaaS Web organisiert und von Parallels gesponsort. Wir möchten Themen für alle Zielgruppen angehen, also sowohl Endnutzer als auch Designer, Entwickler oder Administratoren.

Das Event findet im Hotel Ambassador in der Karlsruher Innenstadt statt.

Im Anschluss gibt es ein Cocktailempfang im KofferRaum (gegenüber vom Ambassador Hotel) – freundlicherweise gesponsort vom Commodore Room und vom KofferRaum. Es gibt freies Cocktail pro Person.

WordPress Meetup Karlsruhe #1 erfolgreich veranstaltet

WP-Meetup-Karlsruhe-square

Das erste WordPress Meetup in Karlsruhe hat letzten Donnerstag in Karlsruhe stattgefunden, Treffpunkt war ein gemieteter Tagungsraum im Hotel Ambassador. Nach ca. anderthalb Stunden Vorträge und Diskussionen wurde der Abend mit einem leckeren Cocktail in entspannter Atmosphäre beendet.

An der Stelle, ein großer Dank an die 3 Vortragenden:

  • Sergey Kalmykov, Parallels
  • Martin Sotirov, SpecialMachine
  • Marko Heijnen, 1&1

Ein weiterer Dank an Parallels, Hauptsponsor des Meetups. Der Cocktail zum Schluss wurde freundlicherweise von Commodore Room und Kofferraum gespendet.

Das zweite WordPress Meetup Karlsruhe wird Anfang Dezember stattfinden; das genaue Datum und die Location werden sehr bald mitgeteilt. Hier geht es zur Meetup Homepage.

WordPress 4.0 ist released

WordPress Logo

WordPress 4.0 eben veröffentlicht

Endlich ist das lang ersehnte Update released worden und kann installiert werden. Dieser Blog ist bereits aktualisiert worden und funktioniert einwandfrei.

Eine kleine Übersicht der Neuerungen:

  • Richtig einfaches Veröffentlichen von Videos: einfach den Link in das Textfeld pasten – das war’s.
  • Schönere und vereinfachte Media Library
  • Der Texteditor wurde verbessert
  • Die PlugIn Library wurde schöner gestaltet und ermöglicht eine übersichtlichere Verwaltung der Erweiterungen

Die original Release-Seite befindet sich hier.

Kostenloser VPN Schutz für die Website oder den eShop

logo_saaswebDas Bild der heilen Welt wird schnell erschüttert, wenn die Firmenhomepage oder der Onlineshop gehackt wird und als Spamschleuder genutzt wird, oder schlimmer, Kundendaten geklaut und irgendwo verhökert werden. Damit sich das Schreckensszenario möglichst gut abwehren lässt, bietet SaaS Web mit allen CMS und eShop Paketen optional einen kostenlosen VPN-Nutzer für das Admin-Backend. Nach Aktivierung ist das Backend nur noch mit dem VPN-Zugang erreichbar. Brute-Force und andere Attacken können dem Admin-Bereich nicht mehr zum Problem werden.

Unsere Website und eBusiness Pakete finden Sie hier.

WordPress: Stylesheets verändern oder ergänzen mit wp_enqueue_style und wp_dequeue_style

WordPress LogoWer schon mal mit WordPress gearbeitet hat, weiß, dass es durchaus passieren kann, dass hinzugefügte PlugIns eigene Styles mit sich bringen und daher ggf. angepasst werden müssen. Natürlich ist es keine besonders gut Idee, die Styles direkt in dem PlugIn zu ändern, denn beim nächsten Update, sind die Anpassungen weg. Auch lassen sich die Styles oft nicht mit der style.css aus dem Root-Verzeichnis überschreiben, da die PlugIn-Styles durchaus später geladen werden.

So geht’s: wp_enqueue_style / wp_dequeue_style

 

# Der Code hier sollte in die functions.php eingetragen werden
# Sollte das Theme ein Child-Theme sein, und es gibt noch keine functions.php in 
# dem Child-Theme-Verzeichnis, dann genügt eine eigene functions.php in dem 
# Child-Theme Verzeichnis mit den Angaben hier unten (die neuen Anweisungen 
# und Funktionen ergänzen dann die functions.php des Parent-Themes)
#
# Hier wird verhindert, das "Problem_Stylesheet" zu laden
# 'plugin-style' ist der unique Identifier

function plugin_style_drop(){
  wp_dequeue_style( 'plugin-style' );
}

# Hier wird ein extra Stylesheet eingebunden
# Beispielsweise um die Stylesheet Informationen eines Formular-PlugIns zu überschreiben

function style_extension_scripts() {
  wp_enqueue_style( 'custom-plugin-style', get_template_directory_uri() . '/plugin-new-style.css' );
}

# Hier werden die Funktionen ausgeführt
# wp_print_scripts; diese Funktion stellt sicher, dass das zu 
# dequeuende Style auch geladen wurde, um es sicher zu entfernen
# Die Prio wird als drittes Argument in add_action hinzugefügt,
# der Wert kann individuell angepasst werden

add_action( 'wp_print_scripts', 'plugin_style_drop', 100 );
add_action( 'wp_enqueue_scripts', 'style_extension_scripts', 101 );

 


Selbstverwaltete WordPress Installationen für Malware und Spam misbraucht

WordPress LogoEine am 24.03. veröffentlichte Studie von Netcraft zeigt, dass ca. 8% der Malware Sites weltweit eine WordPress-Basis gemein haben. Scheinbar wurden dabei allerdings keine Websites identifiziert, die bei WordPress.com gehostet werden (auch nicht bei SaaS Web), was die Vermutung nahe legt, dass es sich um schlecht gewartete WordPress Installationen handelt. Wie bereits in älteren Posts erwähnt, ist vor allem bei PlugIns darauf zu achten, eine gute Auswahl zu machen und die Erweiterungen zeitnah aktuell zu halten.
Bei SaaS Web brauchen Sie sich keine Gedanken um die Wartung der Anwendung oder der PlugIns und Themes zu machen. SaaS Web pflegt die Anwendung für Sie, erstellt täglich Backups und prüft regelmäßig die Installationen nach Schadsoftware bzw. stellt sicher, dass die Anwendung läuft wie sie soll.

PlugIns als Einfallstor für WordPress Angriffe

WordPress LogoEine kürzlich erschienene Studie des Netzwerkbetreibers Akaimai bekräftigt den schlechten Ruf der WordPress PlugIns als Ziel für zahlreiche Angriffe. In dem einwöchigen Beobachtungszeitraum wurden 43.000 Angriffe auf WordPress Installationen registriert über den Weg durch verschiedene Plugins. Dabei sond 8 PlugIns besonders als Ziel begehrt: Tim Thumb (72%), MyFlash (16%), openEMR (7%) und die folgenden 4 mit jeweils 1% Bti Team Bti Tracker, Is-human, WordPress Cloudsafe365, Comment Rating und MyGallery. Die beliebteste Einbruchsmethode ist „Remote File Inclusion“ die sich mit 96% der Angriffsformen deutlich hervorhebt.
In der Studie sind noch einige interessante Statistiken zu finden.

Das Fazit ist allerdings sicher nicht, dass PlugIns nicht genutzt werden sollten, vielmehr sollten sie mit Bedacht integriert werden. Dazu helfen die Angaben im WordPress PlugIn Directory über die Entwickler, die letzten Updates und die Reviews. Auch sollten die Nutzer sich die Zeit nehmen, die PlugIns zeitnah zu updaten insbesondere bei Bekanntwerden von sicherheitsrelevanten Problemen.

WordPress: Auf der sicheren Seite mit SaaS Web

WordPress LogoEine im Juni erschienene Studie zur Sicherheit der meistgenutzten Content Management Systemen stellt fest, dass 80% der Einbrüche auf WordPress Systeme auf das Konto der PlugIns zu buchen ist, hauptsächlich aufgrund veralteter Versionen. Lediglich 20% sind auf das Core zurückzuführen. Aktuell berichtet Heise über großangelegte Phishingversuche auf WordPress Installationen.

SaaS Hosting mit SaaS Web: SaaS Web bietet den Rundum Service für das gehostete CMS: Monitoring, Backups und Updates/Upgrades. So braucht sich der Kunde keine Gedanken zu machen, ist aber dennoch gut bedient! Ein weiterer Vorteil für den Kunden liegt auf der Hand: mehr Zeit für das Wesentliche!

WordPress 3.6 released (Codename Oscar)

WordPress LogoMehr Blog mit WordPress 3.6.
Mit dem neuen Release kommt ein neues Theme „Twenty Thirteen“, besonders auf anspruchsvolle Blogger zugeschnitten: einspaltrig und somit bestens geeignet, auf unterschiedlichen Endgeräten gelesen zu werden. Ein paar Highlights:

Editing Features: von nun an können paralell mehrere Autoren an einem Post arbeiten und Inhalte gegenseitig übernehmen. Eine Revision Control hat ebenfalls Einzug gehalten, mit der auch alte Stände wiederhergestellt werden können.

Bug Fixing: natürlich wurden auch zahlreiche Bugs gefixed (über 700 an der Zahl).

Populäre Content Management Systeme vs. Sicherheit (WordPress, TYPO3, …)

BSI-LogoDie Sicherheit der meistgenutzten Web-CMS auf dem Prüfstand.

Die untersuchten Content Management Systeme sind: Drupal, Joomla!, Plone, TYPO3 und WordPress. Die Ergebnisse sind in den verschiedenen Angriffsmethoden unterteilt wie z. B. SQL Injection oder XSS (Cross-Site-Scripting).

Darstellung_Schwachstellentypen

Allgemein geht aus der Studie hervor, dass die Anwendungen recht sicher und die Update-Prozesse der Hersteller gut sind. Die Autoren empfehlen schließlich die Standardkonfiguration der eingesezten CMS anzupassen (z. B. Admin-Login ändern) und automatisiert Updates einzuspielen.

Hier können Sie die gesamte Studie runterladen.

WordPress: Wirklich individuelle Navigation erstellen und der Walker_Nav_Menu Klasse

Es kommt immer wieder vor, dass eine Website-Navigation, nicht nur den Seitennamen anzeigen soll, sondern auch Informationen, die dazu gehören, wie zum Beispiel die Description oder das Seiten-Bild, oder was auch immer… Um die Kontrolle darüber zu bekommen, braucht man die Walker_Nav_Menu Klasse.

Vorgehensweise
In der functions.php folgenden Code eingeben, es entspricht dem WP-eigenen Code. Dort werden anschließend die gewünschten Änderungen durchgeführt.

class Custom_Walker extends Walker_Nav_Menu{

  function start_el(&$output, $item, $depth, $args){

    $classes = empty ( $item->classes ) ? array () : (array) $item->classes;
    $class_names = join(“ „, apply_filters(„nav_menu_css_class“, array_filter($classes), $item));

    ! empty ($class_names) and $class_names = “ class='“ . esc_attr($class_names) . „‚“;

    $output .= $indent . „<li id=’menu-item-“ . $item->ID . „‚“ . $value . $class_names . „>“;

    $attributes = „“;

    ! empty($item->attr_title) and $attributes .= “ title='“ . esc_attr($item->attr_title) . „‚“;
    ! empty($item->target) and $attributes .= “ target='“ . esc_attr($item->target) . „‚“;
    ! empty($item->xfn) and $attributes .= “ rel='“ . esc_attr($item->xfn) . „‚“;
    ! empty($item->url) and $attributes .= “ href='“ . esc_attr($item->url) . „‚“;

    $title = apply_filters(„the_title“, $item->title, $item->ID);

    $item_output = $args->before . „<a $attributes>“ . $args->link_before . $title . „$lt;/a> “ . $args->link_after. $args->after;

    // Since $output is called by reference we don’t need to return anything.
    $output .= apply_filters(„walker_nav_menu_start_el“, $item_output, $item, $depth, $args);
  }
}

Was wollen wir jetzt ändern? Zum Beispiel keine <ul><li>-Navigation sondern einfach <div> für die einzelnen Navigationselemente. Dazu das Artikelbild unterhalb, und die Description (aus dem Menue). Das sieht dann z. B. aus aus:

// Add these lines in order to fetch the additional information you wish to display

// We need the target page id in order to fetch the page image
$page = get_page_by_path(basename($item->url));
$page_id = $page->ID;
// We should check if there is an image set or not, but we are lazy for this example
$image_url = get_the_post_thumbnail( $page_id, ‚custom-image-preview‘ );
// Same thing for the description
$description = esc_attr( $item->description );

// Remove the li
// Instead of $item_output = $args->before . „<a $attributes>“ . $args->link_before . $title . „$lt;/a> “ . $args->link_after. $args->after;
$output .= „“;

// Change the output like you need it
$item_output = $args->before . „<div class=’container-main’><a $attributes>“ . $args->link_before . $title . „</a><div class=’page-image’>“ . $image_url . „</div><div class=’menu-page-description’>“ . $description . „</div></div> “ . $args->link_after. $args->after;

Damit es nun auch angezeigt wird, muss der Aufruf von wp_nav_menu modifiziert werden. Beispielsweise so:

wp_nav_menu( array( ‚theme_location‘ => ‚my-custom-navigation‘,
    ‚menu‘ => “,
    ‚container‘ => ’nav‘, // Auto wrap navigation in <nav> area
    ‚container_class‘ => FALSE,
    ‚container_id‘ => FALSE,
    ‚menu_class‘ => FALSE,
    ‚menu_id‘ => FALSE,
    ‚echo‘ => true,
    ‚fallback_cb‘ => ‚wp_page_menu‘,
    ‚before‘ => “,
    ‚after‘ => “,
    ‚link_before‘ => “,
    ‚link_after‘ => “,
    ‚items_wrap‘ => ‚%3$s‘, // Remove the ul container
    ‚depth‘ => 0,
    ‚walker‘ => new Custom_Walker ) );

WordPress 3.4 released

WordPress 3.4 bringt zahlreiche Verbesserungen mit, insbesondere in Bezug auf die Gestaltung eigener Themes. So kann man beispielsweise das Headerbild in beliebiger Größe einsetzen oder Änderungen am Headerbild in Echtzeit sehen und so entsprechend bequemer Anpassungen durchführen. Auch interessant ist die Möglichkeit, ein Tweet-Link direkt in den Content-Bereich einzufügen. In der Leseansicht ist der Tweet dann gestyled und bietet die gewohnten Funktionen wie Retweet oder Antworten. Die deutsche Fassung wird sicher morgen oder übermorgen folgen.

Zu dem WordPress Angebot von SaaS Web

WordPress, eigene Templates gestalten: Individuelle Längen für die Kurzfassung von Artikeln

Auf der Artikelseite (index) möchte man gegebenenfalls die Länge der Kurzfassung (excerpt) anpassen. Aber vielleicht möchte man zusätzlich auf einer anderen Seite eine Voransicht – beispielsweise die 3 aktuellsten Beiträge – mit einer kürzer gefassten Kurzfassung der Artikel.

Für den ersten Fall braucht es lediglich diesen Eintrag in der functions.php:

function custom_excerpt_length( $length ) {
  // Standard ist 54
  return 40;
}
add_filter( ‚excerpt_length‘, ‚custom_excerpt_length‘, 999 );

Problem: Damit sind alle Kurzfassungen 40 Wörter lang.

Um aber nun zu differenzieren, anhand der besuchten Seite beispielsweise kann man einfach die Seite innerhalb der Funktion abfragen.

function custom_excerpt_length( $length ) {

  // Home ist index
  if( is_home() ){
    return 40;
  }else{
    return 10;
  }
}

add_filter( ‚excerpt_length‘, ‚custom_excerpt_length‘, 999 );