Sharing Socials - Übergabe der URL ausgeben functions.php
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
ansprechen
attribut
ausgegeben danke
binde
button
code
erwarten
funktion
global post
importieren
kurz url
logik
lord
nutzen
objekt
parameter
post
problem
share
url
-
Hallo zusammen...
Eventuell hat jemand eine Idee? Meine Share Buttons binde ich über Shortcode in der functions.php ein
Funktioniert soweit ganz gut
<!-- Google+ -->
<a href="https://plus.google.com/share?url==http://www.domain.de" target="_blank">
<img src="https://domain.de/image/google.png" alt="Google" />
</a>
Jetzt wil ich die URL des Beitrags übergeben per PHP
https://plus.google.com/share?url=<?php echo urlencode(get_permalink($post->ID)); ?>
Leider funktioniert das nicht so wie erhofft. Vielen Dank voraus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Was funktioniert denn nicht gibt es eine Fehlermeldung?
Check mal ob $post->ID oder get_permalink($post->ID) leer sind.
Was wird als link ausgegeben? -
Danke für die Antwort.
Das funktioniert soweit gut als ich auch den PHP Code in das Page Template einbaue.
Ich habe das aber als Shortcode-Funktion..
Die URL wird da nicht übergeben.. Müsste wahrschein ein Funktion für erstellt werden..?
Beste Grüße -
Hast du einen eigenen URL-Shortner geschrieben oder benutzt du etwas externes und wie wird man weitergeleitet.
Soweit ich dein Problem verstehe willst du das URL-Argument als shortned-URL mitgeben und google+ nimmt die url nicht? -
Nein, nicht als Kurz-URL
DIe URL wird gar nicht übergeben..
Ich versuche es mal zu erklären..
Hier die Funktion
function socialbuttons() { return ' <!-- Google+ --> <a href="https://plus.google.com/share?url=http://www.domain.de/pfad/" target="_blank"> <img src="https://simplesharebuttons.com/images/somacro/google.png" alt="Google" /> </a> '; } add_shortcode('buttons', 'socialbuttons');
Das binde die über Shortcode in meine jeweilige Seite ein
Ich könnte natürlich auch ein zweites Seitentemplate erstellen. Wo der Code drin steht und die URL auch übergeben wird. Das funktioniert ja..
https://plus.google.com/share?url=<?php echo urlencode(get_permalink($post->ID)); ?>
Leider unterstützt mein Theme im BackEnd nicht die Auswahl eines zweiten Seitentemplates. Das ist das Problem..
Beitrag zuletzt geändert: 27.10.2016 11:30:41 von wp-fotoblog -
Ich komme grade nicht ganz mit:
Du hast die Funktion für den Shortcode. Die soll das HTML für den Share-Button ausgeben.
Und das get_permalinnk() tut nicht?
Wenn du $post nutzen willst, steht es dir natürlich in der Funktion erst mal nicht zur Verfügung. Entweder via global $post "importieren".
Oder für die ID einfach die Funktion get_the_ID() nutzen. -
muellerlukas schrieb:
Wenn du $post nutzen willst, steht es dir natürlich in der Funktion erst mal nicht zur Verfügung. Entweder via global $post "importieren".
Oder für die ID einfach die Funktion get_the_ID() nutzen.
Aber er übergibt ja die ID also müsste er nur aus der ID die url generieren. Ich nehme an in der form http://url/post?id=$id. -
Ne, die ID übergibt er da nirgendwo. Selbst wenn die ID in der Url steht (Wordpress kann recht easy mit "Permalinks" betrieben werden, da gibts dann auch keine Parameter mehr) würde man die mit $_GET['id'] ansprechen. Tut er aber nicht.
Und das Objekt $post entsteht ja auch nicht aus dem Nichts. ;) -
muellerlukas schrieb:
Ne, die ID übergibt er da nirgendwo. Selbst wenn die ID in der Url steht (Wordpress kann recht easy mit "Permalinks" betrieben werden, da gibts dann auch keine Parameter mehr) würde man die mit $_GET['id'] ansprechen. Tut er aber nicht.
Und das Objekt $post entsteht ja auch nicht aus dem Nichts. ;)
Ja aber er wird ja nicht erwarten, dass ein leeres Object $post auf einmal ein Attribut ID hat. Da wird ja eine Logik im hintergrund laufen, die wir nicht sehen. Und er übergibt die ID in
https://plus.google.com/share?url=<?php echo urlencode(get_permalink($post->ID)); ?> ---------------------------------------------------------------------------^
-
Ich komm' jetzt gar nicht mehr mit was du meinst.
Er wird wohl erwarten, dass in $post->ID die ID des aktuellen Posts steht. Kann nicht funktionieren, weil eben $post in der Funktion nicht existiert.
Ergo: Kann er die ID nicht abrufen und auch nicht übergeben.
Laut Doku erwartet die Funktion ein int oder ein Objekt. Beides ist da nicht vorhanden. Deswegen auch keine Rückgabe. -
schau dir doch mal den code hier vom lord an. Vlt. ist das ein Denkanstoß wie so etwas funktioniert.
<a rel="nofollow" title="Share on facebook!" href="http://www.facebook.com/share.php?u=http://www.lima-city.de/thread/sharing-socials-uebergabe-der-url-ausgeben-functions-php">
<i class="social_marks-sprite social_marks-facebook" title="Share on facebook!"></i>
</a> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage