versteckt sich unter
/wp-admin/options.php
Einfach im Browser öffnen.
Oder die Datenbank Tabelle wp-options ändern.
versteckt sich unter
/wp-admin/options.php
Einfach im Browser öffnen.
Oder die Datenbank Tabelle wp-options ändern.
Wenn man mit dem Yii-User Modul eigene Attribute wie Strasse und Hausnummer hinzufügen will, kann man dies tun, indem man:
| 3 | street | Strasse | VARCHAR | 80 | 10 | 1 | Ungültige Strasse | 2 | 3 |
Aufgrund der fehlenden Dokumentation des Moduls muss man ziemlich ausprobieren, um optionale Attribute zu kennzeichnen. Optionale Attribute kann man erreichen durch das Setzen von required auf 2 in der entsprechenden Zeile in der profiles_field Tabelle.
Sehr praktisch für die Verwendung von Pfaden im YII-Framework ist die folgende Klasse, die einen einfacher Zugriff auf die Pfade gibt und gleichzeitig die Anwendung flexibel hält bei Änderungen:
class Paths
{
public static function getImagesPath()
{
return Yii::app()->request->baseUrl .DIRECTORY_SEPARATOR."images".DIRECTORY_SEPARATOR;
}
public static function getRootDirectory()
{
return Yii::getPathOfAlias('application');
}
public static function getWebRootDirectory()
{
return Yii::getPathOfAlias('webroot');
}
public static function getExtensionDirectory()
{
return Yii::getPathOfAlias('ext');
}
public static function getViewDirectory()
{
return Paths::getRootDirectory().DIRECTORY_SEPARATOR."views".DIRECTORY_SEPARATOR;
}
public static function getDataDirectory()
{
return Paths::getRootDirectory().DIRECTORY_SEPARATOR."data".DIRECTORY_SEPARATOR;
}
}
Ein Rechen-Captcha zu programmieren mit einfachen Rechenaufgaben ist erstaunlich einfach, es braucht nur 2 kleine Funktionen und schon kann man den User munter seine Mathematik-Kenntnisse testen lassen:
Der Code lässt sich beliebig erweitern: Eine Möglichkeit der Sicherung wäre: Man benutzt deutsche Akzente für die Wörter im $words-Array, wie eens, zwee, dree usw…, damit würde man es den Spam-Bots noch schwieriger machen.
drei + vier = ?
zehn – vier = ?
Wenn sich WordPress entscheidet, keine <p> Paragraph-Tags mehr auszugeben auf der Webseite,kann dies behoben werden mit der Funktion wpautop():
<?php echo wpautop(get_the_content(),0); ?>
Wenn man vor dem Problem steht, dass dynamisch generierte CSS background-images verwendet werden, um Bilder auf einer Webseite darzustellen und diese dann auch für Retina Displays gut aussehen sollen, kann man folgendes Skript verwenden. Es überprüft zusätzlich mittels eines Ajax Requests, ob die Bilder vorhanden sind/existieren.
Voraussetzung ist, dass eine Namenskonvention für nicht-Retina Bilder und Retina verwendet wird wie z.B.:
bild1@1x.jpg für nicht-Retina Bilder
und
bild1@2x.jpg für Retina Bilder
<!--Retina Fix for dynamic background images-->
<script type="text/javascript">
function isRetinaDisplay()
{
var dpr = 1;
if(window.devicePixelRatio !== undefined) dpr = window.devicePixelRatio;
return dpr >= 2;
}
var notRetinaString = "@1x";
var retinaString = "@2x";
$(document).ready(function() {
//if we have a retina display
if(isRetinaDisplay())
{
//select all elements having background images
var $elementsWithBackground = $('*').filter(function() {
if (this.currentStyle)
return this.currentStyle['backgroundImage'] !== 'none';
else if (window.getComputedStyle)
return document.defaultView.getComputedStyle(this,null)
.getPropertyValue('background-image') !== 'none';
});
//replace their background-image with retina images
$elementsWithBackground.each(function( index ) {
$backGroundImage = $(this).css('backgroundImage');
/*console.log($backGroundImage);*/
//when it is no retina image
if($backGroundImage.indexOf(notRetinaString) !== -1)
{
//replace with retina image
$newBackgroundRetinaImage = $backGroundImage.replace(notRetinaString,retinaString);
$newBackgroundRetinaImageUrl = $newBackgroundRetinaImage.replace('url("','').replace('")','');
//check if retina file exists
var $myThis = this;
$.ajax({
url:$newBackgroundRetinaImageUrl,
type:'HEAD',
cache: true,
success:function() {
console.log($newBackgroundRetinaImage);
$($myThis).css('backgroundImage', $newBackgroundRetinaImage);
},
error:function() {
console.log("no retina image found for: " + $backGroundImage);
}
});
}
});
}
});
</script>
Um zu überprüfen, ob ein Gerät mit Retina-Display (neues iPhone oder Mac Book) gerade auf der Seite surft, kann man die handliche Funktion verwenden:
function isRetinaDisplay()
{
var dpr = 1;
if(window.devicePixelRatio !== undefined) dpr = window.devicePixelRatio;
return dpr >= 2;
}
Bei der lokalen Entwicklung unter Windows mit Xampp muss man natürlich auch Mails verschicken können und Tests durchführen.
Ohne eine Konfiguration von sendmail bekommt man unter Windows folgende Fehlermeldung:
mail() [<a href='http://www.php.net/function.mail'>function.mail</a>]: "sendmail_from" not set in php.ini or custom "From:"
Mit den folgeden Einstellungen ist es möglich SMTP Mails lokal zu versenden z.B. mit PHPMailer oder mit WordPress wp_mail().
Folgende Schritte sind nötig dafür um über Sendmail Mails zu verschicken, welches in Xampp mitgeliefert wird:
1. In der xampp/sendmail/sendmail.ini muss ein gültiges E-Mail Konto angegeben werden, über welches E-Mails versendet werden sollen:
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=my-gmail-id@gmail.com
auth_password=my-gmail-password
2. xampp/php/php.ini Einstellungen (entkommentieren):
[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 587 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = postmaster@localhost ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path sendmail_path = "\"\xampp\sendmail\sendmail.exe\" -t" ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = Off ; Log all mail() calls including the full path of the script, line #, to address and headers mail.log = "\xampp\apache\logs\php_mail.log"
Damit wird aktiviert, dass ein Fehler Log geschrieben wird.
Danach muss der Apache neu gestartet werden und nun können mit dem PHP mail()-Befehl E-Mails verschickt werden von Xampp unter Windows..
errormsg='cannot connect to localhost, port foo: Permission denied'
Kann über den Port keine Mail versendet werden, es kann durch einen Alternativen Port gesendet werden, wie z.B. bei einem Hotmail Account
[sendmail]
smtp_server=smtp.live.com
smtp_port=25
smtp_ssl=tls
tls_certcheck off
error_logfile=error.log
debug_logfile=debug.log
auth_username=foo@hotmail.com
auth_password=my-hotmail-password
Wer ein schickes SVN benötigt, kann dies auf der Konsole über SSH ganz einfach installieren:
apt-get install subversion
Dann kann ein neues Verzeichnis namens svn angelegt werden vorzugsweise im Ordner /srv/ (=Services).
mkdir /srv/svn
und ein Repository erzeugt werden darin
Wenn die Paginierung/Pagination nicht mehr funktioniert, kann das an einem Aufruf der Funktion query_posts() liegen, da diese den Main-Loop verändert.
Anstelle der Funktion sollte get_posts() verwendet werden.