Ich habe eine Facebook-App erstellt , um Fotos von der Bild-URL mit Hilfe einiger Tutorials auf Facebook hochzuladen. Es benötigt eine Bild-URL und eine Beschreibung. Ich möchte einen Button “Upload auf Facebook” unter jedem “Bild” -Typ in WordPress veröffentlichen.
App Main Part zum Hochladen von Bildern –
getAccessToken(); $graph_url= "https://graph.facebook.com/me/photos?" . "url=" . urlencode($_POST["source"]) . "&message=" . urlencode($_POST['message']) . "&method=POST" . "&access_token=" .$access_token; $response=file_get_contents($graph_url); $json=json_decode($response); } catch (FacebookApiException $e) { error_log('Could not post image to Facebook.'); } } ?>
Wie kann ich Bildsrc dynamisch aus einem benutzerdefinierten Post-Typ (Image) extrahieren und src als source
im Formular automatisch setzen. (Es gibt nur ein Bild in jedem Bildtyp Post)
Es gibt keine integrierte Möglichkeit, ein image / image-src aus dem Post-Body zu extrahieren. Wenn die Bilder Anhänge sind, können Sie dies mit get_children
oder WP_Query
und wp_get_attachment_image_src
.
function get_image_src_from_content_101578($content) { global $post; $args = array( 'post_parent' => $post->ID, ); $images = get_children($args); foreach ($images as $img) { var_dump(wp_get_attachment_image_src($img->ID)); } } add_action('the_content','get_image_src_from_content_101578');
Sie könnten auch regex
.
function replace_image_link_101578($content) { $pattern = '|
|'; $content = preg_match($pattern,$content,$matches); var_dump($matches); return $content; } add_filter('the_content','replace_image_link_101578');
Letzteres ist möglicherweise weniger Arbeit für den Server, kann aber auch weniger zuverlässig sein. Wenn Sie Bilder eingebettet haben, die keine Anhänge sind, wird es Ihre einzige Wahl sein.
Ein Nicht-Hook-Beispiel, das nur das Bild- src
Attribut zurückgibt, falls es gefunden wird.
function replace_image_link_($content) { $pattern = '|
|'; $content = preg_match($pattern,$content,$matches); return (!empty($matches[1])) ? $matches[1] : ''; }
get_children()
ist keine zuverlässige Methode, um alle Bilder in einem Post post_parent
, da post_parent
der post_parent
Spalte in der Tabelle wp_posts
wird, welche Bilder zu einem Post gehören. Das Problem besteht darin, dass post_parent
eines Bildes nur auf den Post zeigt, der dieses Bild zuerst verwendet hat.
Wenn andere Posts das gleiche Bild verwenden, wird get_children
es nicht finden, wenn es auf diesem Post get_children
wird. get_children
ist Ihre Liste der Bilder unvollständig und enthält nur Bilder, die zum ersten Mal get_children
wurden.