Hauptmenü

Werkzeuge

Kategorien

Archiv

Erstes und letztes Element eines Arrays ohne die Elemente zu entfernen

Erstellt in PHP am 18. Januar 2013 vom Daschmi

Möchte man das erste Element eines Arrays ermitteln, so kann man die Funktion array_shift verwenden. Für das letzte Element gibt es die Funktion array_pop.

Beide Funktionen liefern dasElement und entfernen es aus dem Uhrsprungsarray. Man kann den Array vorher kopieren oder man verwendet folgenden Aufruf:

$first = array_values($array)[0]; // Statt array_shift
$last = array_values($array)[sizeof(array) – 1]; // Statt array_pop

Man könnte auch einfach $array[0] bzw. $array[sizeof($array) – 1] verwenden, dies würde aber nicht bei Assoziativen Arrays funktionieren.

Custom Post Type

Erstellt in Wordpress am 25. November 2012 vom Daschmi

Im wpShopGermany Produktartikel Modul hatte ich das Problem dass die Produkte nicht über die URL erreichbar waren die mittels get_permalink() zurückgegeben wurden. Offenbar wird der Eintrag in der wp_options (rewrite_rules) nicht automatisch angepasst.

In Version 3.0.9 wird dies beim Speichern der Einstellungen des Produktartikel Moduls nachgeholt.

Wer auch das Problem hat kann es mit folgendem Befehl durchführen:

flush_rewrite_rules();

WordPress Sprache für eine Domain ändern

Erstellt in Allgemein am 22. November 2012 vom Daschmi

Im wpShopGermany ist es notwendig bestimmte Aktionen (Mail, Template und PDF Generierung) die Sprache des Backends zu ändern. Hat beispielsweise ein Kunde mit der Sprache Englisch bestellt, das Backend läuft aber in deutscher Sprache so werden normalerweise alle vom Backend ausgelösten Aktionen (Rechnung, Mail etc.) in der Sprache des Backends ausgeführt.

Um diesses Problem zu löscen wurde ab der Version 3.0.0 die Sprache während der Bestellung mitgespeichert. Damit nun im Backend die Sprache umgestellt werden kann wird vom wpShopGermany ab Version 3.0.9 die Übersetzung in der entsprechenden Sprache nachgeladen. Dies geschieht durch folgenden Aufruf:

load_textdomain('wpsg', dirname(__FILE__).'/../lang/wpsg-'.$locale.'.mo');

in der Variable $locale ist die Sprache während der Bestellung gespeichert (z.B. us_US)

Damit man nach der Aktion in der anderen Sprache wieder auf die Originalsprache wechseln kann sollte man die Übersetzung der Domain vorher sichern:

$old_l10n = clone $l10n['wpsg']; 

Die Variable $l10n ist dabei eine globale Variable. Das zurückschalten geschieht wie folgt:

$l10n['wpsg'] = clone $old_l10n;

Gutscheine mit dem wpShopGermany WordPress Plugin verkaufen

Erstellt in Allgemein am 19. November 2012 vom Daschmi

Heute wurde hier ein neues Modul veröffentlicht mit dem es möglich Gutscheine zu verkaufen. Die Gutscheine werden dann nach Zahlung in Form eines PDFs generiert und an den Käufer ausgeliefert.

Ein Tutorial und eine Beispielkonfiguration findet ihr hier.

array_merge ohne neuindexierung

Erstellt in PHP am 1. November 2012 vom Daschmi

array_merge arbeitet standardmäßig so, das numerische Schlüssel in dem zusammengefügten Array neu vergeben werden. Folgende Funktion verhindert dies auf simple Weise:


/**
* Array Merge und Indexe nicht neu nummerieren
* Siehe: http://de2.php.net/manual/de/function.array-merge.php#106803
*/
function dsr_array_merge($a, $b)
{

$result = array_diff_key($a, $b) + $b;

return $result;

} // function dsr_array_merge($a, $b)