Schlagwort-Archive: Wordpress

Eine simple API für WordPress, Teil 2

Wir kommen nun dazu, mit Hilfe unserer kleinen API einen WordPress-Artikel anzulegen.

Dazu müssen wir uns kurz mit den internen Funktionen beschäftigen, die WordPress für dieses Unterfangen zur Verfügung stellt.

Es ist zunächst die Funktion „wp_insert_post„.

Mit ihrer Hilfe kann man Artikel (oder auch Seiten) anlegen und bearbeiten.

Es gibt viele Parameter. Wir betrachten zunächst die wichtigsten:

  • post_content – der Inhalt des Artikels
  • post_title – die Überschrift des Artikels
  • post_status – der Status des Artikels und

Stellen wir uns ein simples Array zusammen:

Die Werte sollten sich von selbst erklären. Ich empfehle, wenn immer möglich beim Testen Umlaute zu nutzen, um später keine bösen Überraschungen zu erleben.

Ich setze „post_status“ auf „publish„, da ich die Artikel sofort veröffentliche. Wer aber noch händisch nachkontrollieren oder erstmal sichergehen möchte, der setzt „post_status“ auf „draft„.

Der neue Client

Der Client muss entsprechend angepasst werden.

Der Aufbau hat sich nicht sehr gegenüber Teil 1 verändert.

Der neue Server

Beim Server hat sich ein wenig mehr getan.

Wir müssen nun die Verbindung unseres Servers zu WordPress herstellen. Das passiert ganz einfach durch die Zeile:

Die Datei „wp-load.php“ die sich im Hauptverzeichnis des Blogs befindet, stellt automatisch alle Daten und Komponenten zur Verfügung, die wir für den Umgang mit WordPress benötigen.

Die Zeile:

Sorgt noch dafür, dass wir keine Komponenten laden, die lediglich für das Frontend des Blogs benötigt werden.

Der Rest dürfte sich von selbst erklären. Interessant ist Zeile 10, in der der eigentliche Befehl zum Anlegen ausgeführt wird und als Ergebnis die ID des neuen Artikels (WordPress-Jargon: Post) an den Client zurückgegeben wird. Diese ID ist wichtig und sollte irgendwo auf Seiten des Clients gespeichert werden, denn später werden wir sie benötigen, um Artikel zu korrigieren, zu löschen oder mit anderen Daten anzureichern. Die ID ist immer eindeutig und wird niemals doppelt vergeben.

Rufen wir den Client auf:

Das Ergebnis gibt uns die ID 4025 zurück.

Und schauen wir mal ins Backend des Blogs.

Voilà – Das ist unser Artikel.

Bis dahin war es noch nicht ganz so schwer. Bisher hatten wir nur die Pflicht, jetzt folgt die Kür. Im nächsten Teil werde ich zeigen, wie man dem Artikel auch ein Bild zuordnet.

WordPress plugin: Display SQL Stats

Displaying SQL result data as graphical chart on the dashboard with use of Google Chart Tools.

Showing chart in dashboard
Showing chart in dashboard
Settings
Settings

Download from WordPress repository.

Changelog

0.7 (2014/02/05)

  • adding/removing SQL statements more stylish

0.6.5 (2013/12/27)

  • fix bug on automatic detection of column types
  • better formatting of debug information

0.6.4 (2013/11/08)

  • only enrich header when on dashboard

0.6.3.1 (2013/10/17)

  • fixing small bug on min/max values when using more than one barcharts

0.6.3 (2013/10/15)

  • placing automatic max/min values on barcharts for better visualisation

0.6.2 (2013/09/14)

  • bug fix on emtpy results
  • switch charts on/off

0.6.1 (2013/09/14)

  • bug fix on wrong date display

0.6 (2013/09/14)

  • Check on WordPress 3.6.1
  • New chart types: Bar Chart
  • auto detecting of column types: date, number, string

0.5 (2013/09/10)

  • Use different chart types (Pie Chart, Scatter Chart, Bubble Chart)

0.4 (2013/08/21)

  • Use multiple SQL statments and charts

 0.3 (2013/08/17)

  • Tested with WP 3.6
  • New default demo SQL to demonstrate how to insert additional columns

0.2 (2013/04/25)

  • NEW: Notepad function to store different SQL statement, ideas or whatever

0.1 (2013/04/16)

  • first test version

WordPress plugin: 404-to-start send every page not found error to start page

WordPress 3.9.1 ok

„404-to-start“ plugin will send every 404 page not found error directly to start page or any other custom page/site you like to overcome problems with search engines. With optional email alert. This will help you solve problems with external bad links which are not under your influence. Chose between 301 – Moved permanently (default) and 302 – Moved temporarily. screenshot-1

Download from WordPress repository.

Changelog

1.5.7.4 (07.06.2014)

1.5.7.3 (04.12.2013)

  • New search engines

1.5.7.2 (24.11.2013)

  • New search engines

1.5.7.1 (11.11.2013)

  • small bug fix where you could get too many mails

1.5.7 (11.11.2013)

  • Now even sends mail alerts if redirect is turned off

1.5.6 (11.11.2013)

  • New search engines

1.5.5 (10.11.2013)

  • New search engines

1.5.4 (28.09.2013)

  • New search engines

1.5.3 (26.09.2013)

  • New search engines

1.5.2 (23.07.2013)

  • New search engines

1.5.1 (13.05.2013)

  • Better search engine detection

1.5 (30.03.2013)

  • Bug fixing
  • Better search engine detection

1.4.3 (25.03.2013)

  • Translation

1.4.2 (24.03.2013)

  • Exclude logged in users from triggering email alert
  • Exclude search engine agents from triggering email alert

1.4.1 (18.03.2013)

  • Putting more information into alert mail

1.4 (17.03.2013) =

  • Email alert

1.3.2 (27.02.2013)

  • Replacing deprecated function

1.3.1 (10.01.2013)

1.3 (03.03.2011)

  • Set custom target Url (any page or site you like)

1.2 (24.02.2011)

  • tested with WordPress 3.1

1.1 (10.02.2010)

  • new settings menu
  • chose between 301 and 302 redirect
  • tested with WordPress 3.0.5

1.0 (02.01.2010)

  • first Version

WP-CleanUmlauts2-Plugin – WordPress Permalinks Umlaute automatisch konvertieren

WordPress 3.3.1 ok!

Jeder, der sich mit WordPress beschäftigt und Permalinks nutzt, wird früher oder später bemerken, dass WordPress Umlaute verschluckt bei der generierung von Permalinks. Aus „Überraschungsei“ wird dann „Uberraschungsei“ oder aus „Anleitung: Verzeichnisse löschen“ ein „anleitung-verzeichnisse-loschen“. Das sieht alles andere als schön aus und ist außerdem falsch.

Wer also nicht ständig die URL von Hand korrigieren möchte, kann hier mein Plugin verwenden. Es nimmt automatisch folgende Umwandlungen vor:

ä -> ae, ö -> oe, ü -> ue

Ä -> Ae, Ö -> Oe, Ü -> Ue

und ß -> ss

Auf Wunsch werden auch Umlaute in Kommentaren, Feeds oder Postings automatisch umgewandelt.

Download wp-cleanumlauts2 from WordPress repository

Ich habe das WP-CleanUmlauts-Plugin von Carsten Albrecht dahingehend angepasst, dass – dem Duden entsprechend – aus ‚ß‘ ein ’ss‘ gemacht wird.

Carsten Albrecht selbst hat als Vorlage das o42-clean-umlauts-Plugin von Michael Renzmann genommen.

Bei Problemen oder Fehlern kann man sich jederzeit bei mir melden. Kommentare sind herzlich willkommen.

Versionen:

1.5.1 (13.02.2012)

  • Getting rid of notices when debug mode is set to true. Thanks to Johannes Freudendahl.

1.3.2 (01.03.2011)

  • Overcome unnecessary warning message

1.3.1 (25.02.2011)

  • Make sure it still works with WordPress < 3.1

1.3 (25.02.2011)

  • checked and fixed bug for WordPress 3.1 – ok

1.2

  • checked for WordPress 3.0 – ok

1.1

  • wrong coding of letter Ö corrected

1.0

  • first version

WordPress: Send Administrator E-Mails to all you users with Email Users 2 Plugin (Emu2)

Tested with WordPress 3.2.1!

Now schedule your mails.

WordPress: Send email to users, manually or on schedule (digest of newest posts). Users can send emails to each other. Export function included. A plugin for wordpress which allows you to send an email to the registered blog users. Users can send personal emails to each other. Power users can email groups of users and even notify group of users of posts. With ability to schedule mails of the newest post in digest form.

STILL BETA!!!

Download from WordPress repository

FAQ

Do you have other plugins?

Check out my other WordPress Plugins.

My provider/host/server does not seem to work with your plugin

OK, there are some administrator outside which treat their services very strict. Mass mailing can always be misused for spamming. That’s why you should ask your admin for current restrictions on mail sending. Pass their answers to me. And by the way, if you are starting a serious business than you should not put your website on a cheap mass web host without any personal support.

Problems with automatic sending. Why are some mails send by the hour instead daily or even three times in a row?

The build in scheduler of WordPress which I use in this plugin is not 100% reliable. This seems to be a bug. It’s already an issue in the bug tracking system of the WordPress developers. Have a look: http://core.trac.wordpress.org/. Emu2 is still beta. If you don’t want to get into trouble with your users I advice you to turn this automatic function off until the bug is fixed.

How can I give certain users the ability to use EMU2?

Scroll down in settings menu and you will find the different capabilities. You can assign them to different roles, hence to your users. I would advice you to use the plugin [User Role Eitor].

Where do I post my feedback?

Here

How can I support you?

That is nice of you. Donation link: https://1manfactory.com/donate

Will there ever be a real manual?

I don’t know. Maybe.

Changelog

0.83b (23.11.2011)

  • adding spanish version – Thanks to Pablo Olave from Chile

0.82b (06.07.2011)

  • tested with WordPress 3.2 -> ok
  • fixed HTML link problem in visual editor

0.81b (10.06.2011)

  • not sending empty mail without digest
  • sending success mail to admin

0.80b (09.06.2011)

  • NEW: Schedule a digest mail of the newest posts
  • Put sender into to field when sending problems (optional)
  • editing of templates moved to additional section

0.73b (30.05.2011)

  • Bugfixing on sending of test mails

0.72b (30.05.2011)

  • Test with WordPress 3.1.3 -> ok
  • Bugfixing on missing Url information in sent mails
  • changed default values from 0 to NULL to prevent possible errors

0.71b (24.04.2011)

  • enhancing administration of user capabilities

0.70b (16.04.2011)

  • some bug fixing with invalid from field values
  • bcc limit variable
  • choose your own sender name and address
  • more translations

0.65b (07.04.2011)

  • setting Return-Path
  • setting Message-Id

0.64b (05.04.2011)

  • implementing debug mode
  • tested with WordPress 3.1

0.63b (09.02.2011)

  • tested with WordPress 3.0.5
  • additional translation

0.62b (04.02.2011)

  • Translation of user roles

0.61b (04.02.2011)

  • Debug Info in subject line removed (sorry for that)

0.60b (03.02.2011)

  • UTF-8 Bug with german Umlauts fixed
  • Ability to chose between server mail function and wordpress mail function
  • new icon

0.54b (02.02.2011)

  • Solving Dashboard Folding Bug

0.53b (02.02.2011)

  • Some new translating.
  • Improving Error messages when using different roles

0.52b (01.02.2011)

  • fixed redeclare of function error

0.50b (27.01.2011)

  • using build in wordpress function so sent mail
  • adding screenshots
  • translation update
  • now with traceless deinstallation routine

0.42b (26.01.2011)

  • HTML-Editor: fixing problems with media upload

0.41b (26.01.2011)

  • Fixing small HTML-Editor bug

0.40b (22.01.2011)

  • Using HTML-Editor (TinyMCE)
  • Fixing small mail sending bug
  • making screenshots

0.32b (10.01.2011)

  • UTF-8

0.31b (10.01.2011)

  • PLEASE UPDATE!!!

0.3b (10.01.2011)

  • PLEASE UPDATE!!!
  • wrong folders

0.2b (10.01.2011)

  • first version, please test before productive using
global $qrcodetag; echo $qrcodetag->getQrCodeUrl($content, $size, $encoding, $ecc, $margin, $version);

PDF-Buch zum Blättern in WordPress

Schritt 1

Ein PDF muss erstmal in einzelne Bilder umgewandelt werden. Das sollte man automatisiert machen. Ich benutze dazu die Software PDF-XChange Viewer – eine Software, die dem fetten Adobe Reader IMMER vorzuziehen ist und auch sehr viel mehr Funktionen hat: Notizen, Markierungen, Stempel, Text.

File|Export|Export to Image – die Einstellungen entnehmen Sie meinen Screenshots.

Wenn alles geklappt hat, dann haben wie jetzt das PDF seitenweise in Bilder umgewandelt. Bitte kontrollieren, ob alles geklappt hat und ob auch die Reihenfolge stimmt. Man sollte auch ein leeres weißes Blatt als letztes noch hinten anfügen, das dann als Buchrückseite dient.

Wer die Software zum Extrahieren der Bilder nicht besitzt oder nicht nutzen will, der kann auch auf Online-Dienste im  Internet zurückgreifen:

Es geht auch mit dem virtuellen Druckertreiber Virtual Image Printer driver.

Schritt 2

Nun müssen wir diese Bilder zusammen mit einer speziellen Flash-Datei so in WordPress einbinden, dass ein blätterbares Buch herauskommt.

Wir haben die Wahl zwischen folgenden 2 WordPress Plugins, die uns diese Arbeit zum Glück abnehmen.

Beide Plugins fügen einen Werbe-Hinweis ein (siehe oben auf dieser Seite). Wer möchte kann gegen 30 bzw. 40 Euro die jeweiligen Vollversionen erwerben.

Ich kann beide empfehlen. Der eine (Page Flip Image Gallery) hat mehr Funktionen und ist komfortabler zu handhaben, ist dafür aber in der Vollversion etwas teurer. Am besten probiert es jeder für sich aus. Beide Plugins verrichten bisher anstandslos ihren Dienst.

Beide Plugins funktionieren im Prinzip ähnlich.

  1. man legt ein virtuelles Buch an
  2. diesem Buch fügt man beliebige viel Bilder (die extrahierten) als Seiten hinzu
  3. man kann – wenn gewünscht – die Reihenfolge der Seiten/Bilder noch beeinflussen
  4. das Buch selbst wird konfiguriert: Toolbar, Größe, Rahmenfarbe etc.
  5. Einfügen des Buches mit einem Short tag in WordPress

Ergänzung: Mit den oben dargestellten Plugins kann man nicht nur Bilder zum Blättern einbinden, sondern auch Shockwave Flash Dateien (swf) mit allen aktiven Gimmicks: Videos, Sound, Links, Transparenz, Formularen etc. pp.

WordPress und XAMPP tunen

XAMPP ist lokal und in der Standardausführung nicht sehr schnell. Daher lohnt es sich, Hand anzulegen.

Zunächst müssen wir wissen, wie langsam (oder schneller) unser System läuft. Dazu editieren Sie die WordPress Template Datei »footer.php«:

Direkt über </body> fügen Sie Folgendes ein:

<?php echo $wpdb->num_queries; ?> database queries in <?php timer_stop(1); ?>

Spielen Sie am besten ein bisschen herum, um ein Gefühl für »gute« Werte und Zeiten zu erhalten.

Laden und aktivieren Sie verschiedene Plugins, um zu prüfen, wie unterschiedlich sich die Werte entwickeln.

Bei besonders vielen SQL-Statements (auch Queries genannt), lohnt es sich, die Plugins schrittweise zu deaktivieren und zu prüfen, ob schlecht programmierte Plugins mit zu vielen Datenbankabfragen nicht durch Alternativen ersetzt werden können
Besonders verdächtig sind meiner Erfahrung nach Plugins, die die letzten Kommentare oder vergleichbare Artikel anzeigen, da diese bei jedem Aufbau der Seite generiert werden (wenn kein Cache läuft).

Testen Sie auf alle Fälle ein Cache-Plugin (ich empfehle wegen der einfachen Wartbarkeit wp-supercache). Ein Cache-System speichert bereits generierte HTML-Seiten in einen Zwischenspeicher ab, so dass diese nicht immer wieder neu generiert werden müssen.
Für Entwickler empfehle ich noch das Plugin »Debug Queries«. Dieses listet alle generierten SQL-Statements auf der Frontend-Seite auf. Dazu muss noch in der Datei »wp-config.php« was angepasst werden:



define(‚SAVEQUERIES‘, true);

Empfohlene Einstellungen

php.ini

Ort: C:\Programme\xampp\php\php.ini


memory_limit = 1024M

my.ini

Ort: C:\Programme\xampp\MySQL\bin\my.ini



key_buffer = 256M

max_allowed_packet = 16M

table_cache = 512

sort_buffer_size = 4M

read_buffer_size = 4M

read_rnd_buffer_size = 8M

net_buffer_length = 2M

innodb_buffer_pool_size = 256M

Wenn Sie merken, dass der Server langsam ist, können Sie in phpMyAdmin unter »Status« überprüfen, welche Parameter momentan Probleme bereiten. Diese werden rot hinterlegt. Anschließend sollte der Speicherplatz dafür erhöht werden.

Zur gezielteren Analyse muss man natürlich WP-Supercache zumindest für Admins deaktivieren, weil die Ergebnisse sonst verfälscht werden.

Und nicht vergessen: Es klappt nur, wenn man Apache und/oder MySQL nach jeder Änderung neu startet.

Zum Nachschlagen

WordPress Quick: Only show excerpt on homepage

You don’t want to show the complete post on you homepage? Then why not show visitors only an excerpt and let them click for the whole post?

Open your template file , eg.g index.php and search for term „the_content“ then replace it with „the_excerpt

<?php
if (is_search()) {
 the_excerpt();
} else {
 //the_content(__('Read the rest of this entry &raquo;', 'kubrick')); // old way
 the_excerpt(); // new way
}
?>

If you want a better control over „the_excerpt“ then you should use Advanced Excerpt plugin. It will leave HTML untouched and give let you edit the more-caption as well.