WordPress Artikel via Twitter oder E-Mail empfehlen

Was man von Bekannten und Freunden empfohlen bekommt, hat in der Regel einen hohen Stellenwert. So ist das letztlich auch bei Blogbeiträgen oder Artikeln auf einer Website. Man kennt ja all diese Social Media Buttons für twitter, Facebook & Co, die in vielen bunten Farben auf manchen Seiten platziert sind. Oft braucht man dazu eine Menge mehr oder weniger guter Plugins. Dass es auch anders geht und nur ein paar Zeilen Code benötigt werden, zeigt dieser Beitrag.
Artikel via Twitter versenden
Um einen Artikel über die Microblogging Plattform von Twitter zu versenden, braucht man nur ein paar Codezeilen, die man in die functions.php Datei, des aktiven WordPress Themes kopiert:
function save_tweet_link($id) {
$url = wp_remote_retrieve_body(
wp_remote_get(
‘http://bit.ly/api?url=’ .get_permalink($id)
)
);
if (!$url) {
return sprintf(
‘%s?p=%s’,
get_bloginfo(‘url’),
$id
);
}
add_post_meta(
$id,
‘_tweet_trim_url’,
$url
);
return $url;
}
}
if (!function_exists(‘the_tweet_link’)) {
function the_tweet_link() {
if (!$url = get_post_meta(get_the_ID(), ‘_tweet_trim_url’, true)) {
$url = save_tweet_link(get_the_ID());
}
echo sprintf(
‘http://twitter.com/home?status=%s%s%s’,
urlencode(‘Lese grade: ‘),
$url,
urlencode(‘ (via @michaeloeser)’)
);
}
}
?>
Nun noch den Funktionsaufruf in der single.php an der Stellle platzieren, wo man den “Re-Tweet” Link haben möchte:
<a href="<?php the_tweet_link() ?>">Diesen Beitrag twittern</a>
<?php } ?>
Natürlich noch den Twitternamen (@michaeloeser) gegen den eigenen austauschen und fertig. Klickt ein Leser nun auf den Link, öffnet sich Twitter und der Beitrag geht auf die Reise. Der Code stammt übrigens mal wieder von Sergej Müller und ich benutze ihn auch hier auf meiner Website, weil es so schön unkompliziert und leichtgewichtig ist.
Artikel via E-Mail versenden
Eine weitere Möglichkeit ist es, Beiträge mit einem entsprechenden Link einfach per E-Mail zu versenden. Diese Methode ist wirklich sehr simpel, aber warum auch nicht. Sie erfordert, dass der Empfehler ein E-Mail Programm wie Outlook oder Thunderbird installiert hat, aber das dürfte in den meisten Fällen so sein.
Wieder kommen ein paar Zeilen Code in die functions.php:
function direct_email($text="Artikel per E-Mail versenden"){
global $post;
$title = htmlspecialchars($post->post_title);
$subject = ‘Von ‘.htmlspecialchars(get_bloginfo(‘name’)).‘ : ‘.$title;
$body = ‘Ich empfehle Dir diesen Artikel: ‘.$title.‘. Hier kannst Du ihn finden: ‘.get_permalink($post->ID);
$link = ‘<a rel="nofollow" href="mailto:?subject=’.rawurlencode($subject).‘&body=’.rawurlencode($body).‘" title="’.$text.‘ : ‘.$title.‘">’.$text.‘</a>’;
return $link;
}
?>
Und ein kleiner Aufruf in die single.php:
Fertig! Wie es aussieht, können Sie am Ende dieses Beitrag sehen. Natürlich kann man die Ausgabe ein wenig (oder auch mehr) per CSS stylen.
CSS Styling
Ich habe das Ganze zusammen mit der Ausgabe der Tags (Schlagwörter) in einen DIV Container gepackt und dem einen hellgrauen Hintergrund verpasst.
Das HTML dazu sieht dann also so aus:
<?php the_tags( ‘<p class="meta">Tags: ‘, ‘, ‘, ‘</p>’); ?>
<?php if (function_exists(‘the_tweet_link’)) { ?>
<a href="<?php the_tweet_link() ?>">Diesen Beitrag twittern</a>
<?php } ?>
<?php echo direct_email();?>
</div>
Und das CSS sieht so aus:
background-color:#EEEEEE;
border:1px solid #CCCCCC;
font-size:11px;
margin-bottom:20px;
padding:3px 6px;
position:relative;
}
Also ich habe das mit dem Schnipsel leider einfach nicht hinbekommen; bei mir kommt immer eine Fehlermeldung, wenn ich die functions.php aktualisiert habe. Aber ich werde es auf einem anderen Blog mit anderem Theme noch einmal versuchen
Welche Fehlermeldung kommt denn?
Hat beides nicht funktioniert, bei mir nicht und bei einem Freund auch nicht. Schade eigentlich, die Sidebar wird mit Fehlermeldungen geflutet.
Kann ich SO weder nachvollziehen, noch den möglichen Fehler beurteilen. Dazu bräuchte ich deutlich mehr Details.
Hi, das Versenden von Emailempfehlungen ist hierzulande rechtlich ein wenig problematisch. Ein kürzlich laufendes Gerichtsverfahren hat gegen einen Shopbetreiber entschieden, der Emailadressen via Tell-A-Friend-Funktion gesammelt hat. Der Code-Schnipsel zum Versenden des Artikels via Email an einen Freund kommt diesem Tatbestand sehr nahe und kann von Gerichten als Spam gewertet werden. Rechtlich gesehen ist auch das private Weiterleiten eines Newsletters an einen Freund Spam.
Näheres und entspr. Quellen habe ich in einem Post zusammengefasst:
http://www.youareweb.de/2009/12/tell-a-friend-funktion-ist-spam/
Selbstverständlich ist Verbraucherschutz sehr wichtig, aber schießt man hier nicht mal wieder etwas über das Ziel hinaus? Danke auf jeden Fall für die Info.
Wie passend, habe meinen Code-Schnipsel am Wochenende als Plugin veröffentlicht, da doch sehr viele Anfragen gekommen sind, wo sich denn die functions.php befinde usw. Als Plugin ist es für den Nutzer einfacher, den Code einzubinden, auch wenn er den Funktionsaufruf in der single.php an der gewünschten Position hinterlegen muss.
http://wordpress.org/extend/plugins/bitly-retweet/