WordPress: Eigenen via-Shortcode anlegen

Donnerstag, 8.3.2012, 17:54 > daMax

Ooooh Leute, jetzt bin ich mal happy. Aber so richtig. Unzählige Male schon habe ich mir an dieser Zeichenkette die Finger verrenkt:

<small>(via <a href="http://lass.dir.was.einfall.en/" target="_blank">tollewebsite</a>)</small>

und das alles nur, weil ich Quellenangaben für eine essentielle Zutat der Bloggerei halte. Zwar dünkt mir, ich hätte mal ein Plugin bei WordPress gesehen, das das via-Setzen vereinfacht, eine Suche nach "via plugin" ist leider ziemlich aussichtslos. Aber mit dieser Tippselei ist jetzt ein für alle mal Schluss :!: Ich habe mir nämlich einen WordPress-Shortcode gebastelt und muss ab sofort nur noch sowas hier tippen:

[via tollewebsite lass.dir.was.einfall.en]

was auf magische Art und Weise zu dem hier wird:

(via tollewebsite)

Ich dachte mir, ich erzähl euch mal wie das geht.

Ich bin dieser Anleitung gefolgt, die mich zu dieser WordPress-Doku brachte. Das habe ich alles gelesen und verinnerlicht und dann losgelegt.

Um es kurz zu machen:

  1. Die functions.php eures Themes ausfindig machen. Die liegt unter /wp-content/themes/[EUERTHEME]. Nicht zu verwechseln mit der functions.php unter /wp-admin/includes :!:
  2. In diese functions.php fügt ihr nach dem "öffnenden"

    <?php

    diesen Code ein:

    // [via name URL]
    function via_func( $atts ) {
    	extract( shortcode_atts( array(
    		0 => 'site',
    		1 => '#',
    	), $atts ) );
    
      // wenn die URL nicht mit http:// anfängt, basteln wir das noch dran
      if (strlen($atts[1]) > 1 && substr($atts[1] , 0, 7 ) != 'http://')
      {
        $atts[1] = 'http://'.$atts[1];
      }
    	return "<small>(via <a href='$atts[1]' target='new'>$atts[0]</a>)</small>";
    }
    
    add_shortcode( 'via', 'via_func' );
    

  3. abspeichern
  4. wieder auf euren Server hochladen. Bitte überschreibt nicht einfach die vorhandene functions.php, sondern benennt sie zuerst um in _functions.php. So könnt ihr euer Blog wieder retten, falls ihr einen Fehler in der functions.php gemacht habt!
  5. fertig

Ich übernehme allerdings keinerlei Gewähr für eventuelle Schäden, die ihr mit meinem Code an eurem Blog anrichtet, das is klar, ne?