CSS, xHTML, JS, Tipps, Webküche

Erweiterung der Kommentarfunktion

Ab jetzt ist die Kommentarfunktion ein wenig mächtiger uns soll euch den Zugriff auf Textstellen und -passagen erleichtern.
Aufmerksame Leser haben vielleicht die Hinweise zu den Kommentaren schon gelesen und die Funktion genutzt? Ich habe seit geraumer Zeit eine Möglichkeit integriert, die es euch erlaubt sich auf bestimmte Texte aus dem Artikel zu beziehen, ohne großen Mehraufwand. Um die Funktion zu nutzen müsst ihr lediglich im Artikel den Text markieren, daraufhin erscheint ein Button mit dem Text „Antworten“. Beim Klick auf diesen Button wird der markierte Text direkt in die Textbox eures Kommentars übernommen und ihr könnt wie gewohnt euren Kommentar dazu schreiben. Der übernommene Text wird dabei als Zitat ausgezeichnet.

Screenshot Bezug auf Textstellen im Artikel
Weiterlesen

Standard
Tipps, WordPress

Abfrage einer Script-Version in WordPress

Nicht selten werden Scripte innerhalb von Plugins und Themes verwendet. WordPress bringt im Standard eine ganze Reihe an Frameworks mit und warum diese also nicht einbetten, statt es extra im Plugin abzulegen und damit nicht selten verschiedene Versionen von Frameworks laden. Nicht unbedingt gut für die Funktion, geschweige denn für Performance und Ladegeschwindigkeit.

Trotzdem ist man manchmal von einer bestimmten Version eines Frameworks abhängig. Daher bietet es sich an, die Version des Scriptes abzufragen und alternativ das entsprechend erwünschte Script zu laden. Der folgende Syntax macht das am Beispiel Prototype.


// Ersetzt Prototype mit Version 1.6, wenn kleiner 1.6
if ( $wp_scripts->scripts['prototype']->ver < 1.6 ) {
	
	wp_deregister_script('prototype');
	wp_enqueue_script('prototype', '/wp-content/plugins/pluginpfad/prototype.js', NULL, 1.6);
}

Mehr zu den verwendeten Funktionen findet man in der /wp-includes/script-loader.php.

Standard
CSS, xHTML, JS, Webküche

JavaScript in HTML einbinden

Das Einbinden von JavaScript in Webseiten ist kein neues Thema mehr, seit der Generation Web 2.0 aber kaum wegzudenken. Immer mehr Seiten bieten kleine Features an, die mit JS realisiert werden. Oft werden dabei die Funktionen in den Vordergrund gestellt und auch im Zeitaltern von DSL und anderen schnellen Datenverbindungen sollte die Webseitengeschwindigkeit nicht vergessen werden. Und in diesem Zusammenhang gibt es einige Überlegungen und Hinweise, welche ich in diesem Artikel auf Wunsch von Stephan erklären möchte.

Dabei kommt natürlich in erster Linie meine Meinung zum Tragen, welche vielleicht eine kleine Diskussion anstößt und wo man Feedback von Webworkern bekommt, die mehr im Thema stecken als ein Hobby-Webworker, wie ich es bin.
Weiterlesen

Standard
Plugin, Tipps, WordPress

WordPress Performance analysieren (Plugin)

Die Performance von WordPress kann schnell und einfach mittels einiger Plugins verschlechtert werden. Dazu muss man kein Experte sein, mehr Funktionalität sorgt für mehr Last. Allerdings sorgt gerade die Einfachheit und offene Arbeitsweise von WordPress, die WordPress unter anderem so populär gemacht haben und ich sehr schätze, zu einem Problem – das Plugin muss nicht unbedingt von Profi-Entwicklern erstellt sein und die Optimierung des Syntax würde viel im Bereich Performance verbessern.

Nun aber zum eigentlichen Problem: wie findet man die Schwachstelle im Blog?
Weiterlesen

Standard
Code, PHP

PHP Debugging und Profiling leicht gemacht

PHP HowTo

Die Entwicklung von Scripten mittels PHP bringt immer wieder Schwierigkeiten im Bereich der Fehlersuche. Editoren bzw. Entwicklungsumgebungen, die eine Debuggingfunktion mitbringen, sind teuer oder nicht unbedingt leicht zu konfigurieren. Seite geraumer Zeit arbeite ich dabei mit Xdebug, eine Erweiterung für PHP, mit der das Debuggen einfach und schnell von der Hand geht.

Damit die Konfiguration immer wieder zur Hand ist und schnell und logisch nachvollziehbar ist, erkläre ich einigen Schritten, wie man zu einer Entwicklungsumgebung mittels Xdebug kommt. Weiterlesen

Standard
Code, PHP, Tipps, Webküche, WordPress

WP – Inhalte auf anderen Seiten nutzen

Immer wieder kommt es zur der Frage, wie kann ich Inhalte aus WordPress auf anderen Seiten nutzen, also außerhalb von WP. Dazu habe ich vor langer Zeit mal ein kleines Script – siehe „WK – Blogs auf anderen Seiten nutzen“ – veröffentlicht, mit welchem dies über das Auslesen der Feeds möglich ist. Trotzdem bekommen ich noch immer viele Fragen dazu und ich erläutere das ganze hier nochmal an einem Beispiel.
Das Beispiel kann man sich anschauen und downloaden. Für das Design sorgt CSS, welches ich hier nicht eingebunden habe, da es rein um die Funktion geht. Das solltet ihr dann noch anpassen.

Demo:

Das Demo dindet ihr hier: bueltge.de/test/xmlimport.php

Coding:

Im folgenden der Code der externen Seite. Dazu ist eigentlich nur zu sagen, dass ich im ersten php-Abschnitt den Feed nach RSS 1.0-Standard lade, das ist bei WP die wp-rss.php im root-Verzeichnis und im zweiten Abschnitt lade ich den Atom-Feed, das ist die wp-atom.php im root-Verzeichnis von WordPress.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de" id="xmlreader"  >
<head>
  <meta http-equiv="content-type" content="application/xhtml+xml;charset=utf-8" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <meta http-equiv="imagetoolbar" content="no" />
  
  <meta name="author" content="Frank Bueltge" />
  <meta name="publisher" content="bueltge.de" />
  <meta name="copyright" content="Frank Bueltge - https://bueltge.de" />
  <meta name="keywords" content="WordPress, WP, RSS, Feed, RSSFeed" />
  <meta name="Diese zeigt, wei man den RSSFeed nutzen kann, um die Inhalte auf anderen Seiten darzustellen." />
  <meta name="page-topic" content="Gastronomie" />
  <meta name="robots" content="all" />

  <title>Beitr&auml;ge au&szlig;erhalb von WordPress</title>

  <style type="text/css" title="currentStyle" media="screen" >@import "style.css";</style>
  <link rel="Shortcut Icon" type="image/x-icon" href="favicon.ico" />
  
</head> 
<body>
  <h2>RSS Import 1.0</h2>
  <p>Hier wird der Feed nach Standard 1.0 von WordPress (wp-rss.php) importiert, die letzten 5 Beitr&auml;ge</p>
  <p>Diese Seite mit dem Beispiel downloaden: <a href="xmlimport.phps">Download Datei .phps</a></p>
  <div style="margin: 2em; padding: 1em; background: #DDD">
	  <?php
	  # Script: XML-Reader
	  # Copyright: y0y.de, erweitert: bueltge.de
	  
	  # Hier editieren
	  $url = "https://bueltge.de/wp-rss.php"; //URL zum XML-Feed
	  $number = 5; //Anzahl der angezeigten News
	  
	  # Ab hier nichts mehr ändern
	  
	  # code
	  $file_content = @file_get_contents($url);
	  
	  #Items auslesen
	  $items = preg_match_all("/<item[ ]?.*>(.*)<\/item>/Uis", $file_content, $array_items);
	  $array_items = $array_items[1];
	  if(!empty($array_items)) { //Nur wenn es Items gibt, soll auch was angezeigt werden
	  if ($number>sizeof($array_items)) $number=sizeof($array_items);
	      for($n=0;$n<$number;$n++) { //Nur die angegebene Anzahl der News soll angezeigt werden
	      preg_match("/<link>(.*)<\/link>/Uis", $array_items[$n], $array_link); //URLs auslesen
	      preg_match("/<title>(.*)<\/title>/Uis", $array_items[$n], $array_title); //Titel auslesen
	      preg_match("/<description>(.*)<\/description>/Uis", $array_items[$n], $array_description); //Beschreibung auslesen
	  
	  # Ab hier wird ausgegeben
	     echo "<h3>$array_title[1]</h3>"; //Titel darstellen
	     echo "$array_description[1]"; //Ausgabe der Beschreibung
	     echo "<a href=\"$array_link[1]\" title=\"Click f&uuml;r mehr Informationen\"> mehr</a>"; //Link
	     }
	  }
	  ?>
  </div>
  <hr />
  <h2>RSS Import Atom</h2>
  <p>Hier wird der Feed nach Standard Atom von WordPress (wp-atom.php) importiert, die letzten 2 Beitr&auml;ge</p>
  <p>Diese Seite mit dem Beispiel downloaden: <a href="xmlimport.phps">Download Datei .phps</a></p>
  <div style="margin: 2em; padding: 1em; background: #DDD">
    <?php
    # Script: XML-Reader
    # Copyright: y0y.de, erweitert: bueltge.de
    
    # Hier editieren
    $url = "https://bueltge.de/wp-atom.php"; //URL zum XML-Feed
    $number = 2; //Anzahl der angezeigten News
    
    # Ab hier nichts mehr ändern
    
    # code
    $file_content = @file_get_contents($url);
    
    #Items auslesen
    $items = preg_match_all("/<entry[ ]?.*>(.*)<\/entry>/Uis", $file_content, $array_items);
    $array_items = $array_items[1];
    if(!empty($array_items)) { //Nur wenn es Items gibt, soll auch was angezeigt werden
    if ($number>sizeof($array_items)) $number=sizeof($array_items);
        for($n=0;$n<$number;$n++) { //Nur die angegebene Anzahl der News soll angezeigt werden
        preg_match("/<id>(.*)<\/id>/Uis", $array_items[$n], $array_link); //URLs auslesen
        preg_match("/<title type=\"html\">(.*)<\/title>/Uis", $array_items[$n], $array_title); //Titel auslesen
        preg_match("/<content type=\"xhtml\">(.*)<\/content>/Uis", $array_items[$n], $array_description); //Beschreibung auslesen
    
    # Ab hier wird ausgegeben
       echo "Anm. der Titel: <h3>$array_title[1]</h3>"; //Titel darstellen
       echo "Anm. Titel mit Link: <a href=\"$array_link[1]\" title=\"zur Seite\"><h3>$array_title[1]</h3></a>"; //Titel mit Link
       echo "$array_description[1]"; //Ausgabe der Beschreibung
       echo "<a href=\"$array_link[1]\" title=\"Click f&uuml;r mehr Informationen\"> mehr</a>"; //Link
       }
    }
    ?>
  </div>
</body>
</html>

Download:

Download als txt-Datei: xmlimport.txt – 4 KByte

Standard
PHP, Webküche

Bookmarks im Web verwalten

Arbeiten an mehreren Rechnern, an verschiedenen Standorten – das führt zwangsläufig dazu, dass man nicht immer seine Lieblingslesezeichen dabei hat. Dafür gibt es eine Menge an Service in den Weiten des WWW – z.B. del.icio.us oder google.
Nun will sich nicht jeder User auf einen fremden Anbieter und deren Software verlassen. Ich habe dazu Abhilfe gefunden – SiteBar. Grundsätzlich arbeitet SiteBar nach den selben Prinzipien wie andere Bookmarkservices, allerdings gibt es einen kleinen aber feinen Unterschied. SideBar bietet sein Script zum kostenlosen Download an und damit kann es auf jedem Host mit php und mySQL installiert werden. Außerdem ist das Script OpenSource.
Das ist schnell und einfach erledigt und die Daten können einfach und übersichtlich verwaltet werden. Ein Installationsroutine ist dabei und kein Eingriff in eine Datei notwendig.
Es können mehrere User verwaltet werden, aber auch der Nutzen für einen Nutzer ist immens und man hat seine Favoriten schnell und überall zur Hand.

Die Verwaltung ist denkbar einfach und die Oberfläche ist mehrsprachig, so das man sich schnell zu Hause fühlt. Am einfachsten ist Bedienung wohl für Windows-User, da fast alles über die rechte Maustaste gesteuert wird. In einem Kontextmenü finden sich alle Möglichkeiten.
Ein Import und Exportfunktion steht ebenso zur Verfügung wie viele Konfigurationseinstellungen. Für die Liebhaber von Design lässt sich das ganze mit verschiedenen Themes anpassen, bzw. kann auch ein eigens erstellt werden.
Beim Übernehmen eines Links werden sämtliche Zusatzdaten automatisch übernommen, z.B. Favicon und Beschreibung.

Screenshot SideBar

Ein weiteres Plus gibt es für alle Firefox-Nutzer, die mit einigen Plugins das Nutzen des Skriptes noch erleichtert bekommen.

FF-Tipp Beschreibung
SiteBar Client Spezielle Erweiterung für die SiteBar.
Erlaubt das Öffnen aller Lesezeichen eines Verzeichnisses als Tabs und andere nützliche Features. Um die Funktionen über die Toolbar verwenden zu können, lassen sich die SiteBar Icons über das Menü „View/Toolbar/Customize“ zur Toolbar hinzufügen. [Project-Seite]
Bookmarks Synchronizer Um Zwei-Weg-Synchronisation mit Firefox zu benutzen, installieren Sie die Lesezeichen Synchronisierer Erweiterung. Gehen Sie auf „Benutzer Einstellungen -> XBELSync Einstellungen“, um mehr Informationen zum Einrichten der Synchronisation zu bekommen.
Standard
Tipps, WordPress

WP – Script zur Zeichensatzconvertierung

Diese Script sollte man sich merken, sicher wird es der eine oder andere noch benötigen. Denn damit läßt sich das Blog ohne Darstellungsprobleme in die gewünschte Konvertierung überführen – Script to convert WordPress – content encoding . Das es damit Probleme gibt, kann man des öfteren im WordPress-Forum nach lesen. Empfohlen wird auch weiterhin UFT-8, der Zeichensatz, der alle Zeichen beinhaltet.

Anwendung:

Die php-Datei in den Ordner /wp-content/ kopieren und über den Browser starten. Natürlich die Sicherheitskopie vorher ziehen, z.B. mit phpMyAdmin – Beschreibung gibts hier.

Die Konvertierung ist in Zeile 53 hinterlegt:


/**
* @var string Target encoding
/*
$new_encoding = 'UTF-8';
Standard
Tipps, WordPress

WP – Javascript in Beiträge/ Posts einbinden

WordPress+JavaScriptWenn in Beiträgen, unter WordPress, Scripte benötigt werden, so kann man diese nicht direkt in den Post legen. Diese werden im Header nicht ausgeführt. Nun will man aber nicht jedes Script im Header haben, da es ansonsten in jeder WP-Seite und jedem WP-Beitrag erscheint. Einige Scripte werden nur auf bestimmten Seiten oder Beiträgen benötigt.
Mit folgender Methode können aber Scripte in den Posts verwendet werden.

Als erstes muss das Script in eine Datei (name.js) geschrieben werden. Diese Datei muss nun per FTP abgelegt werden, bzw. mit der Upload-Funktion in der Admin-Oberfläche von WP. Die Funktion wird also ausgelagert.

Info: Das folgende Script dient dazu, Plugins automatisch in Firefox zu integrieren und dient mir hier als Beispiel. Nähere Infos dazu hatte ich vor einiger Zeit hier beschrieben.

externes Script:


function addEngine(name,ext,cat)
{
  if ((typeof window.sidebar == "object") && (typeof
  window.sidebar.addSearchEngine == "function"))
  {
    window.sidebar.addSearchEngine(
      "https://bueltge.de/wp-content/download/wp/"+name+".src",
      "https://bueltge.de/wp-content/download/wp/"+name+"."+ext,
      name,
      cat );
  }
  else
  {
    errorMsg(name,ext,cat);
  }
}

Das ausgelagerte Script muss nun wieder in den Beitrag geladen werden.
Im Beitrag wird das ganze dann folgender maßen eingebunden.

im Post:


<script type="text/javascript" src="/ordner/addengine.js"></script>

<a href="javascript:addEngine('search_bueltge_blog','gif',
'bueltge.de Blog')">Test_JS_Link</a>

Hier ist der Link um das Beipiel-Script „SuchPlugin für Firefox“ zu starten.


Test_JS_Link

Standard