Ich erstelle ein “Share this Page” – Widget, das die aktuelle URL abrufen und an eine Facebook-URL wie folgt anhängen muss:
http://www.facebook.com/sharer.php?u=http://myurl.com/a-specific-page
- Wie man alle Tags in Postpermalinks verwendet
- Hinzufügen eines anderen Wortes vor der Post-URL
- WordPress-Formular, das an benutzerdefinierte Seitenvorlage gesendet wird, funktioniert nicht
- Website-Adresse Führen Sie nach dem Migrationsversuch eine Weiterleitung zur Website durch
- einen 404 von einem Link erhalten, der ein oembed-Wort enthält, Was ist das und warum 404 erzeugt?
- Wie man Besucher mit PHP-Code in functions.php zu einer benutzerdefinierten URL umleitet
Ich verwende ein normales Text-Widget. Wie kann ich auf die aktuelle URL zugreifen und sie in den Freigabe-Link einfügen?
@ user653 ist korrekt, Sie können es nicht in einem Text-Widget mit PHP machen, aber Sie können es in einem Text-Widget mit JQuery / Javascript tun. Hier ist wie.
Ich nehme an, Sie planen, verwenden Sie die Facebook-Share-Taste und wird somit HTML-Code in Ihrem Widget, das so aussehen wird?
Javascript's windows.location
object.property Wenn ja, kannst du einfach folgenden Code in dein Widget einfügen :
functions.php
Datei Ihres Themes zu speichern Damit der obige Code funktioniert, müssen Sie wahrscheinlich das mitgelieferte jQuery-Skript, das mit WordPress ausgeliefert wird, in die Warteschlange stellen und die folgende Codezeile in die functions.php
Ihres Themas einfügen (es sei denn, ein anderes Plugin tut dies bereits):
wp_enqueue_script('jquery');
Ironischerweise habe ich vor ein paar Tagen einen Facebook Like Button als Shortcode für einen Client implementiert, also dachte ich, ich würde auch mit dir teilen (Wortspiel beabsichtigt.;) Du kannst sehen, wie wir die aktuelle URL von der $_SERVER
Variable bekommen haben. Ich habe diesen genauen Code aus der function redirect_canonical()
in /wp-includes/canonical.php'
. Sie können dies auch in die Datei functions.php
Ihres Themes einfügen:
add_shortcode('facebook-like','my_facebook_like_button'); function my_facebook_like_button($echo=true) { // Generate the HTML required to place a Facebook "Like" button inside a shortcode // See Docs: http://developers.facebook.com/docs/reference/plugins/like $requested_url = is_ssl() ? 'https://' : 'http://'; $requested_url .= $_SERVER['HTTP_HOST']; $requested_url .= $_SERVER['REQUEST_URI']; $html =< < HTML; if ($echo) echo $html; else return $html; }
Hier ist ein Screenshot, der die Benutzung zeigt. Beachten Sie, dass Text-Widgets die Inhaltsfilter nicht verarbeiten, sodass der Shortcode in einem Text-Widget nicht funktioniert. Ich schaute schnell und fand kein Plugin, das Text-Widgets hinzufügt, die Shortcodes verarbeiten können, aber es wäre nicht schwer, ein Widget zu schreiben, oder nur schwer ein Widget zu schreiben, das nur eine Facebook-Freigabe oder Like-Buttons hinzufügt. FWIW.
Hoffe das hilft!
Verwenden Sie einfach die Variablen $ _SERVER:
$url = add_query_arg( 'u', $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], 'http://www.facebook.com/sharer.php' );
Sie können den Inhalt eines Text-Widget nicht so dynamisch gestalten. Zum Beispiel “Ausführbares PHP-Widget” (http://wordpress.org/extend/plugins/php-code-widget/). Jetzt können Sie Ihren Text usw. einschließlich PHP-Code hinzufügen, um die Variable URL einzufügen.
[Bearbeiten] Ref http://developers.facebook.com/docs/reference/plugins/like . Setzen Sie dies in Ihr php-Code unterstützendes Widget:
< ?php global $post; ?>
Hier ist ein vollständiger Code für Sie:
Tweet