PHP: Facebook Likes / Fans einer Seite auslesen

Wollt ihr die Anzahl von Facebook Fans automatisiert auslesen, so besteht die Möglichkeit das einfach über die Facbeook Api zu lösen.

<?php 
$fb_siteid = '101023253399';
$json = file_get_contents('http://api.facebook.com/method/fql.query?format=json&query=select+fan_count+from+page+where+page_id='.$fb_siteid.''); 
$response = json_decode($json); 
echo 'Facebook Fans: '. $response[0]->fan_count;
?>

 
Für die Abfrage braucht ihr die Site ID. Diese bekommt ihr recht einfach raus. Klickt einfach auf das Profilbild und schaut euch die URL in der Adresszeile genau an. Irgendwo steht eine lange Zahlenfolge die durch Punkte seprariert ist. Der Letzte Block vor dem Slash ist die SiteID.

Hier mal ein Screenshot am Beispiel von GoogleWatchBlog.de:

gwb-facebookid

Weiterlesen

PHP: Copyright mit automatischer Jahreszahl

Immerwieder schön ist es im Footer zu lesen: © by Firma 1997 bis 2012. 

Liest sich so, als wenn die Firma 2012 eingestellt wurde, ist jedoch meistens einfach die letzte Aktualisierung der Website gewesen.

Um diesen Fauxpas zu vermeiden sollte man hier einfach mit Date das aktuelle Jahr generieren, dann kann man auch nie wieder vergessen alljährlich die Jahreszahl zu editieren.

&copy by schnipsellager.de 1954 bis <?php echo date('Y'); ?>

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

CSS: Link beim Mouseover animiert unterstreichen

Wem das normale Underline zu langweilig ist für seine Links, der kann das Ganze auch etwas verspielter machen. Z.b das Unterstreichen von links nach rechts zu animieren.

Wichtig ist, dass das a-Element ein Text-decoration: none bekommt um eine automatische Unterstreichung zu vermeiden. Dann sollte man dem Element ein Position: relative verpassen, da wir unsere Linie absolut unter dem Element platzieren.

 

DEMO: Hover Me

 

a {
  color: #333333;
  text-decoration: none;
  position: relative;
}

Jetzt erstellen wir mit einem a:after unsere Linie die zum derzeitigen Punkt noch eine Breite von 0% hat. Sie wird beim Hover auf 100 Prozent gesetzt und durch eine Transition wird das animiert.

 

a:after {
  content: ''; /* content ist leer... */
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  border-bottom: 2px solid #333333;
  transition: 0.6s;
}

a:hover:after {
  width: 100%;
}

 

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

PHP Mail Log – Absendendes Script finden

Wer schonmal ein angegriffenes System hatte, welches zum spammen missbraucht wurde, weiß wie nervig es ist alle Spuren zu entdecken. Die Mail Queue füllt sich, aber man findet nirgends die Quelle.

Seit PHP 5.3 gibt es eine neuen Option die den PhPmailer gesprächig macht.

Durch folgende option in der php.ini kann das loggen von Mails inklsuvie ausführendes Script aktiviert werden.

;PHP.INI /etc/php5/apache2/php.ini bearbeiten
mail.add_x_header = On
mail.log = /var/log/phpmail.log

Apache neustarten und ab jetzt werden alle Mailaktionen geloggt.

/etc/init.d/apache2 restart

Ein Beispiel Eintrag sieht dann so aus – gleich am Anfang steht nun das absendende Script. 

mail() on [/var/www/schnipsellager.de/wp-includes/class-phpmailer.php:652]: To: XXX@xxx:COM — Headers: Date: Sun, 23 Aug 2015 17:36:26 +0000 From: WordPress <wordpress@schnipsellager.de> Message-ID: <fafa1faa791bcdfe17fc4933610231c1@schnipsellager.de> X-Priority: 3 X-Mailer: PHPMailer 5.2.10 (https://github.com/PHPMailer/PHPMailer/) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit

Weiterlesen