Zugriff auf die aktuelle URL in einem Text-Widget für eine Facebook Share-Schaltfläche?

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

Ich verwende ein normales Text-Widget. Wie kann ich auf die aktuelle URL zugreifen und sie in den Freigabe-Link einfügen?

Solutions Collecting From Web of "Zugriff auf die aktuelle URL in einem Text-Widget für eine Facebook Share-Schaltfläche?"

@ 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.

Beginnend mit dem Facebook Share Button HTML

Ich nehme an, Sie planen, verwenden Sie die Facebook-Share-Taste und wird somit HTML-Code in Ihrem Widget, das so aussehen wird?

   

Verwenden Sie jQuery und Javascript's windows.location object.property

Wenn ja, kannst du einfach folgenden Code in dein Widget einfügen :

   

Achten Sie darauf, jQuery in der 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'); 

Facebook Like Button als WordPress Shortcode

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; } 

Wie es aussieht

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.

WordPress Site Screenshot zeigt Facebook Like und Buttons als Shortcodes und in Text Widgets

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: