Plugin des Monats

Und schon wieder habe ich ein feines Plugin gefunden.

Da ich auch gerne mal ein Tutorial für meine Kunden schreibe (am Besten natürlich auch in WordPress) hantiere ich da auch viel mit Screenshots herum. Bisher musste ich diese immer speichern, dann hochladen und einfügen. Und das kann auf Dauer wirklich lästig sein.

Nun habe ich das Plugine OnePress Image Elevator gefunden, das Bilder auch direkt aus der Zwischenablage in den Editor einfügt. Also nur noch Strg + V drücken und das in der Zwischenablage befindliche Bild wird eingefügt.

Es taucht dann ab diesem Moment auch in der Mediathek auf kann in anderen Beiträgen verwendet werden.

Nach der Installation wird auch noch eine PRO-Version angepriesen, die noch mehr kann aber für meine Zwecke war allein die „insert image from clipboard“-Funktion wichtig. Und die wird einwandfrei erfüllt.

Plugins des Monats

Auf meinen Streifzügen habe ich mal wieder einige Plugins gefunden, die es verdient haben, hier erwähnt zu werden!

1. Manual Image Crop

Endlich! WordPress beschneidet ja Bilder beim Upload recht willkürlich, was vor allem bei ungewöhnlichen Formaten schon mal eher unschöne Ergebnisse bringt. Dieses Plugin ermöglicht es, in einem sehr einfachen Interface sämtliche Bildgrößen (ausgehend vom Original) manuell neu zu definieren.

2. Average WYSIWYG Helper

Markiert im visuellen Editor die Inhaltsblöcke, damit man sieht, wo sich z.B. versteckte Divs oder spans verstecken bzw. wie sich der Inhalt im Code gliedert. Top!

Link

Stimmen Imitator

Nun stelle ich hier mal in (fast) eigener Sache meinen höchst talentierten Boyfriend vor. Er imitiert, was nicht bei drei aufm Baum ist.

Dieter Bohlen, Udo Lindenberg, Inge Meysel und gerne auch mal den Kollegen, die Nachbarin oder die Wurstfachverkäuferin.

Wenn ihr also mal jemanden braucht, der euch was Imitiertes spricht oder auch einen Filmtrailer mit dieser dramatischen Filmtrailer Stimme … oder oder oder…

Gistboxapp

Neulich bin ich über diese feine App gestolpert : Gistbox

Beim Programmieren benutzt man ja häufiger die gleichen Code-Schnipsel immer und immer wieder. Damit man nicht jedes mal eine alte Datei öffnen und nach dem passenden Code suchen muss kann man seine Schnipsel mit Gistbox ganz fein sortiert ablegen und schnell wieder finden.

Eine feine Sache, die schon wieder ein paar Minuten Zeit einsparen hilft.

Es gibt auch eine Chrome-App, was mindestens so charmant ist wie Robert Downey Jr.

Link

Ich bin verliebt… in WPMail ….

Nachdem ich mich wiederholt mit der Plage PHPList quälen durfte habe ich mich (auch zum wiederholten Mal) nach einer Alternative umgesehen. Wichtig war (mir) dabei, dass es sich um eine selbst gehostete Lösung handelt um möglichst unabhängig von fremden Diensten zu sein. PHPList ist ja schön und gut, aber das Backend ist altbacken, Anpassungen sind teilweise schwierig und nur durch Modifikation des Core zu bewerkstelligen. Ich wollte etwas, das optisch an die heutigen Standards angepasst ist, das die Bearbeitung von Inhalten leicht macht und das eben auch alle rechtlichen und sonstigen Anforderungen erfüllt.

Dabei bin ich auf das (kostenpflichtige) WordPress Plugin WPMail bei CodeCanyon gestoßen. Nach kurzem Zögern und lesen der Rezensionen und Komentare (einiger) habe ich mich zum (Test)Kauf entschlossen und bin seitdem im Rausch. Was für ein Unterschied zu dem gammeligen PHPList… einfach herrlich diese einfache Bedienung in bekanntem (WordPress)Umfeld … also nur zu empfehlen.

Das einzige „Problem“ was ich bisher gefunden habe ist, dass es noch keine Text-Version des Newsletters gibt. Aber das ist für mich zu verschmerzen. Außerdem wurde der Admin nicht über neu angemeldete Abonnenten informiert. Das lässt sich aber mit einem kleinen Code-Schnipsel in der functions.php regeln.

function mymail_notify_me($id){
    $subscriber = get_post($id);
    if(!$subscriber) return false;
    $subject = 'Ein neuer Abonnent!';
    $content = sprintf('? hat sich am Newsletter angemeldet', '<a href="'.admin_url('post.php?post='.$subscriber->ID.'&action=edit').'">'.$subscriber->post_title.'</a>');

    return mymail_send( $subject, $content, 'info@zartgesotten.de' );
}
add_action( 'mymail_subscriber_insert', 'mymail_notify_me' );

Scheinbar reagiert der Autor auch relativ schnell auf solche Anfragen, man kann also auch damit rechnen bei Problemen geholfen zu werden.

Ende der Werbepause!

Plugin-Fund: Codepress Admin Columns

Bin mal wieder auf ein schickes Plugin gestoßen. Das geht zwar auch mit Code in der functions.php , aber so ist es doch viel schöner!

Das Plugin „Codepress Admin Columns“ erlaubt es uns, die Spalten auf der Übersichtsseite von Artikeln oder Seiten neu zu sortieren, andere Spalten ein- oder auszublenden.

So kann z.B. das Artikelbild oder der Auszug, die Anzahl der Wörter etc. direkt in der Übersicht angezeigt werden. Und das macht Freude!

Plugin gefunden: TinyMCE Templates

Auf meinen Streifzügen habe ich mal wieder ein richtig feines Plugin gefunden. Es nennt sich „TinyMCE Templates“ und ermöglicht das Erstellen beliebig vieler Content-Vorlagen, die dann über einen Button im TinyMCE-Editor ausgewählt und dort eingefügt werden können. Wenn also z.B. Seiten mit immer wiederkehrenden Elementen (Tabellen, …) häufiger vorkommen könnte sich das als nützlich erweisen.

Die Templates werden über einen eigenen Menüpunkt im Hauptmenü verwaltet und der Editor bietet sowohl einen TinyMCE-Editor als auch eine HTML-Ansicht.

Wunderbar!

Nivo Slider im Header und pro Seite wählbar

Nachdem ich einige Slider-Plugins probiert habe hatte ich es satt, immer irgendwo an die Grenzen des Machbaren und oft eben ein gutes Stück entfernt vom Gewünschten zu landen. Daher habe ich mich entschlossen, mir das Nivo Slider WP-Plugin zu genehmigen. Im Angesicht der Zeit, die ich schon durch meine Versuche investiert hatte war das (so meine bisherige Erkenntnis) eine gute Geldanlage.

Das Plugin bietet von Haus aus schon folgende Möglichkeiten:

  • Erstellung beliebig vieler Slider (mit jeweils versch. Optionen )
  • Einfügen der Slider über einen komfortablen TinyMCE-Button

Um den Slider im Header eines Themes zu nutzen wird laut Anleitung ein Aufruf in die header.php des Themes platziert.

Leider wird damit aber auf jeder Seite der gleiche Slider angezeigt.

Mein Wunsch war es, auf jeder Seite im Edit-Modus eine Option zur Auswahl des für DIESE Seite geeigneten Sliders zu haben. Dabei sollten natürlich die vorhandenen Slider automatisch angezeigt werden und wählbar sein. Der jeweils gewählte Slider sollte dann auf der Seite auftauchen.

Nach langer Bastelei (da ich mich auch noch nie mit WP Meta Boxen etc. auseinandergesetzt hatte sicherlich auch nicht der BESTE code) ist aber doch ein Ergebnis entstanden, das zumindest auf den ersten Blick vielversprechend aussieht.

Folgender Code muss dazu in die Functions.php (Entnommen aus der WordPress Function Reference )

<?php /*Add a custom meta-box in your Edit-Screen for selection of custom slider for each page*/

/* Define the custom box */
add_action( 'add_meta_boxes', 'myplugin_add_custom_box' );

/* Do something with the data entered */
add_action( 'save_post', 'myplugin_save_postdata' );

/* Adds a box to the main column on the Post and Page edit screens */
function myplugin_add_custom_box() {
    add_meta_box(
        'myplugin_sectionid',
        __( 'Slider', 'myplugin_textdomain' ),
        'myplugin_inner_custom_box',
        'post'
    );
    add_meta_box(
        'myplugin_sectionid',
        __( 'Slider', 'myplugin_textdomain' ),
        'myplugin_inner_custom_box',
        'page'
    );
}

/* Prints the box content */
function myplugin_inner_custom_box( $post ) {

  // Use nonce for verification
  wp_nonce_field( plugin_basename( __FILE__ ), 'myplugin_noncename' );

//Echo the currently selected slider
$slidercurrent = get_post_meta($post->ID, '_sliderslug', TRUE);
if($slidercurrent) {
echo "Aktueller Slider:\n\n";
echo "<strong> $slidercurrent </strong>";
echo "Neuen Slider wählen: \n\n\n";
 }
else
{
echo "Kein Slider gewählt: \n\n";
} 

 $args = array(
    'post_type' => 'nivoslider',
    'nopaging'  => true
);

$squery = new WP_Query( $args );

	echo '<select name="sliderwahl">';
	echo '<option value="'.$slidercurrent.'">';
	echo Sliderwahl;
	echo '</option>';

while ( $squery->have_posts() ) : $squery->the_post();

	global $post;
	$val=$post->post_name;
	echo "<option value='$val'>";
	the_title();
	echo '</option>';
endwhile;

	echo '<option value="">';
	echo "Kein Slider";
	echo '</option>';

echo '</select>';
}

/* When the post is saved, saves our custom data */
function myplugin_save_postdata( $post_id ) {
  // verify if this is an auto save routine.
  // If it is our form has not been submitted, so we dont want to do anything
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
      return;

  // verify this came from the our screen and with proper authorization,
  // because save_post can be triggered at other times

  if ( !wp_verify_nonce( $_POST['myplugin_noncename'], plugin_basename( __FILE__ ) ) )
      return;

  // Check permissions
  if ( 'page' == $_POST['post_type'] )
  {
    if ( !current_user_can( 'edit_page', $post_id ) )
        return;
  }
  else
  {
    if ( !current_user_can( 'edit_post', $post_id ) )
        return;
  }

  // OK, we're authenticated: we need to find and save the data

 $mydata = $_POST['sliderwahl'];
 update_post_meta($post_id, '_sliderslug', $mydata); 

  }?>

Damit wird eine Meta-Box im Edit-Screen erstellt, in der der gewünschte Slider gewählt werden kann.

Um den gewählten Slider im Head des Themes (header.php) anzeigen zu lassen muss nun der folgende Code in die header.php oder eine beliebige andere Stelle des Themes

global $wp_query;
		$postid = $wp_query->post->ID;
		$sliderslug=get_post_meta($postid, '_sliderslug', true);
		if($sliderslug !='')
		{
		echo do_shortcode('[nivoslider slug="'.$sliderslug.'"]');
		}
		else
		{

			//Do something else

		}

Damit wird das in der functions.php erstellte Custom Field abgefragt und in den Shortcode von Nivoslider eingefügt.

Das alles das Ergebnis einer Bastel-Session. Es gibt natürlich noch die eine oder andere Verbesserung, die hier von Nöten wäre.  Vielleicht fällt ja auch einem der werten Leser dieses Artikels noch etwas auf, was man verbessern könnte. Dafür bin ich natürlich immer offen! Ansonsten hoffe ich wie immer, dass es mir hilft, nicht zu vergessen und evtl. andere Suchende erfreut.