Kategorien
WordPress

WordPress Addthis Plugin selber positionieren

Das Addthis Plugin wehrt sich mit Händen und Füßen an sich positionieren zu lassen. Mit einem kleinem Hack funktioniert dies aber auch ohne die Backend Einstellungsmöglichkeiten zu verlieren (siehe Share Box unterhalb des Artikels)

Im Backend stellt man das gewünschte Aussehen und Verhalten ein und aktiviert einen Option, z.B:

Enable the following sharing tool at the Bottom of posts

addthis_backend

Kategorien
WordPress

WordPress related Artikel aus denselben Kategorien

Um bei WordPress die letzten 5 Artikel aller Kategorie eines Artikels (es kann mehrere geben) auszugeben, braucht man den folgenden Code:

function getMyRelatedPosts()
{
    $categories = get_the_category();
    $categoriesArray = array();
    if($categories){
        foreach($categories as $category) {
            $categoriesArray[] = $category->term_id;
        }
    }
    $queryRelatedPosts = new WP_Query(
        array (
            'category__and' => $categoriesArray,
            'orderby' => 'date',
            'order' => 'DESC',
            'posts_per_page' => 5,
            'post_status' => array( 'publish')
        )
    );
    return $queryRelatedPosts;
}
                        $relatedPosts = getMyRelatedPosts();
                            while ( $relatedPosts->have_posts() ) :
                                $relatedPosts->the_post();
                                echo " <a class='relatedPosts' href='".get_permalink()."' title='".the_title_attribute('echo=0')."'>".get_the_title()."</a><br>";
                            endwhile;
                            wp_reset_postdata();
Kategorien
HTML5 JavaScript

HTML5 Datenbank mit persistence.js Tutorial

Mit persistence.js lässt sich eine lokale Datenbank mit Javascript erstellen ohne einen Datenbank-Server und eine Internet Verbindung.

Unterstütze mobile OS von persistence.js:

Kategorien
jQuery

jQuery asynchroner Ajax Call mit Callback Success Funktion

Bei der Programmierung von asynchronen Funktionen mit Ajax steht man vor dem Problem, dass die Funktion keinen Rückgabewert im herkömmlichen Sinne haben. Die folgende Funktion gibt nicht etwa die Variable response zurück, obwohl der Ajax Request erfolgreich ausgeführt wurde aufgrund der Asynchronität.

function test()
 {
 $.ajax({
 async: true,
 cache:false,
 url: "testUrl.php",
 beforeSend: function (jqXHR, settings) {
 url = settings.url;
 console.log(url);
 },
 success: function (response) {
 console.log("Ajax Call Success");
 },
 error: function (response) {
 handleError(response);
 }
 }
 );
 return response;
 }

Um eine das Ergebnis eines asynchronen Calls (Ajax) weiterverarbeiten zu können, kann man entweder eine Funktion aufrufen (schlecht, weil feste Bindung):

Kategorien
jQuery Mobile

Google Analytics und jQuery Mobile

Bei der Benutzung von Google Analytics mit jQuery Mobile gibt es ein paar Besonderheiten zu beachten. So wird nicht jede Seite neu geladen bei jQuery Mobile, sondern der Inhalt (per Ajax) in die bestehende Seite eingefügt und die URL angepasst, so dass der Eindruck einer App entsteht.

Für die Verwendung von Google Analytics mit jQuery Mobile bedeutet dies, dass man am besten manuell die Pageviews zählen sollte:

Man integriert in den <head> Teil der Applikation den Code:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX']);
/* do not track first page here*/
/*_gaq.push(['_trackPageview']);*/

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
Kategorien
WordPress

WordPress lokal testen Links anpassen

Damit beim lokalen Testen alle Links auf der Seite funktionieren muss man in der Datenbank in der Tabelle wp_options die Felder

option_id = 1, option_name = siteurl

und

option_id = 37, option_name = home

anpassen auf option_value an den lokalen Ordner bspw.  http://localhost/myTest/.

Danach funktionieren alle Links auf der Domain localhost und führen nicht mehr auf die Internetseite oder Ähnliches.

Die Verbindung zur Datenbank muss in der wp-config.php angepasst werden:

/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', '');
Kategorien
WordPress

WordPress Artikel von heute

Zum Auswählen aller Artikel, die am heutigen Tag veröffentlicht worden sind, kann man bei WordPress ganz einfach mit:

$today = getdate();

$queryToday = new WP_Query(
     array (
         'year' => $today["year"],
         'monthnum=' => $today["mon"],
         'day' => $today["mday"],
         'orderby' => 'date',
         'order' => 'DESC',
         'post_status' => array( 'publish')
    )
 );

 while ( $queryToday->have_posts() ) :
     $queryToday->the_post();
     echo " <a class='todayArticle' href='".get_permalink()."' title='".the_title_attribute('echo=0')."'>".get_the_title()."</a><br>";
 endwhile;

wp_reset_postdata();
Kategorien
Webdeveloper Tools

SVN Server kostenlos

Für ein kleines Projekt mit 2 Mitarbeitern gibt es im Internet kostenlose Hosting Möglichkeiten. Ich persönlich verwende Springloops, dort kann man ein Projekt mit 2 Personen und 100mb kostenlos hosten.

Ein weiterer Anbieter ist ProjectLocker, bei denen es 200mb Speicherplatz gibt.

Eine praktische Übersicht über alle Anbieter von SVN Versionierungsystemen gibt es hier.

Kategorien
PHP

PHP Analyse von Stichproben mit Pearsons C

Zur Analyse eine Stichprobe oder einfacher gesagt, wenn man von bestehenden Daten Rückschlüsse auf andere Daten machen will, kann man je nach Typ der Daten verschiedene statistische Zusammenhangskennzahlen berechnen. Da PHP leider so gut wie keine brauchbare Bibliothek für eine statistische Auswertung bietet, habe ich die Berechnung von Pearsons C bzw. des Korrigierter Kontingenzkoeffizient nach Pearson selber implementiert sowie die nötige Berechnung von Chi-Quadrat:

Kategorien
Server Administration

DNS – Bind9 Nameserver Konfiguration – Teil3

Um seinen eigenen DNS Server unter Ubuntu zu konfigurieren, muss man nur BIND installieren:

sudo apt-get install bind9

und einfach selber konfigurieren, wie im Folgenden gezeigt wird.

Die Funktionsweise von BIND

Die zentrale Datei   /etc/bind/named.conf:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

In dieser Datei werden nur 3 andere Datein inkludiert, die die Funktionalität beinhalten:

Die etc/bind/named.conf.options beinhaltet allgemeine Konfigurationsparameter für den Nameserver, z.B. ob rekursive Anfragen zulässig sind oder ob die Daten an andere Nameserver weitergegeben werden sollen.