von drei Tagen in einer verwirrenden mich mit diesem Problem, ich habe einen Code für die Veröffentlichung eines Beitrags von Front-End für Bilder und Videos, für Videos, die er das Thumbnail und legte vorgestellten Bild aber für Bilder nicht .. Dieses Problem macht mich verrückt, Ich versuche so viel und nichts funktioniert
Hier ist der Code für Videos und HTML-Formular:
$comment_status, 'ping_status' => 'open', 'post_author' => $user_id, 'post_content' => '', 'post_status' => $status, 'post_title' => $title, 'post_type' => 'post', ); $post_id = wp_insert_post($post); if(isset($_FILES['video_file']) && $_FILES['video_file']['error'] == 0) { $video_file = $tmp->saveUpload( 'video_file' ); add_post_meta($post_id, '_video_localvideo', wp_get_attachment_url($video_file['attachment_id']) ); } else { $video = esc_url($_POST['video']); if (strpos($video,'youtube') !== false) { //it's youtube, we need toget the thumbnail! :) //we get the id of the video first $videotemp = explode('/watch?v=', $video); if(isset($videotemp[1]) && $videotemp[1] != '') { $idvideo = $videotemp[1]; //we have the id, now we put the thumbnail $url_video = 'http://i1.ytimg.com/vi/' . $idvideo . '/hqdefault.jpg'; } } elseif (strpos($video,'vimeo') !== false) { //it's youtube, we need toget the thumbnail! :) //we get the id of the video first $videotemp = explode('vimeo.com/', $video); if(isset($videotemp[1]) && $videotemp[1] != '') { $idvideo = $videotemp[1]; //we have the id, now we put the thumbnail $json_vimeo = 'http://vimeo.com/api/v2/video/' . $idvideo . '.json'; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $json_vimeo); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $json_vimeo = curl_exec($ch); curl_close($ch); $jsontemp = json_decode($json_vimeo, true); if(isset($jsontemp[0]) && isset($jsontemp[0]['thumbnail_large']) && $jsontemp[0]['thumbnail_large'] != '') { $url_video = $jsontemp[0]['thumbnail_large']; } } } if(isset($url_video) && $url_video != '') { //we have an external youtube image :) we save it with the cURL library $filedetails = pathinfo($url_video); $mime = ''; if($filedetails['extension'] == 'jpe' || $filedetails['extension'] == 'jpg' || $filedetails['extension'] == 'jpeg') { $mime = 'image/jpeg'; } elseif($filedetails['extension'] == 'png') { $mime = 'image/png'; } elseif($filedetails['extension'] == 'gif') { $mime = 'image/gif'; } if($mime != '') { require_once( ABSPATH . "wp-admin" . '/includes/image.php' ); $ch = curl_init($url_video); $uploaddir = wp_upload_dir(); $filename = $filedetails['filename'] . rand(1, 9999) . '.' . $filedetails['extension']; //we add some random digits to make sure it's unique $fp = fopen(trailingslashit($uploaddir['path']) . $filename, 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); $guid = trailingslashit($uploaddir['url']) . $filename; $attachment = array( 'post_mime_type' => $mime, 'guid' => $guid, 'post_title' => '[External image] : ' . $filedetails['filename'] , 'post_content' => '', 'post_author' => $user_id, 'post_status' => 'inherit', 'post_date' => date( 'Ymd H:i:s' ), 'post_date_gmt' => date( 'Ymd H:i:s' ) ); // Add the file to the media library and generate thumbnail. $attach_id = wp_insert_attachment( $attachment, trailingslashit($uploaddir['url']) . $filename, $post_id ); $attach_data = wp_generate_attachment_metadata( $attach_id, trailingslashit($uploaddir['path']) . $filename ); wp_update_attachment_metadata( $attach_id, $attach_data ); update_post_meta($post_id, '_thumbnail_id', $attach_id); } } add_post_meta($post_id, '_video_externalvideo', $video); } $nsfw = isset($_POST['nsfw_video']) ? 1 : 2; add_post_meta($post_id, '_video_nsfw', $nsfw); add_post_meta($post_id, '_anonymous', $anonymous); break; <? html <textarea name="title_audio" class="form-control" rows="1" placeholder=""> <input name="audio" type="text" rows="3" class="form-control" placeholder="" value=""/>
und hier ist der Code und Form html für Bild, Dieser Code nehmen das Bild und in ein benutzerdefiniertes Feld “image_imagepost” Dies ist von Thema, aber ich möchte es nehmen und legte es auf vorgestellten Bild
case "window-image": $format = 'image'; $title = esc_html($_POST['title_image']); $image = esc_url($_POST['postimage']); $tags = $_POST['tags_image']; $comments = isset($_POST['comments_image']) ? 1 : 0; $anonymous = isset($_POST['anonymous_image']) ? 1 : 0; $comment_status = $comments == 1 ? 'open' : 'closed'; $user_id = $id; if(($_FILES['image_imagepost']['error'] != 0 && $image == '') || $title == '') { wp_redirect(home_url('/') . '?posterror=1'); exit; } $post = array( 'comment_status' => $comment_status, 'ping_status' => 'open', 'post_author' => $user_id, 'post_content' => '', 'post_status' => $status, 'post_title' => $title, 'post_type' => 'post', ); $post_id = wp_insert_post($post); if($image != '') { $pattern = '~' . get_bloginfo('url') . '~'; if(preg_match($pattern, $image) ) { add_post_meta($post_id, '_standard_image', $image); } else { //we have an external image :) we save it with the cURL library $filedetails = pathinfo($image); $mime = ''; if($filedetails['extension'] == 'jpe' || $filedetails['extension'] == 'jpg' || $filedetails['extension'] == 'jpeg') { $mime = 'image/jpeg'; } elseif($filedetails['extension'] == 'png') { $mime = 'image/png'; } elseif($filedetails['extension'] == 'gif') { $mime = 'image/gif'; } if($mime != '') { require_once( ABSPATH . "wp-admin" . '/includes/image.php' ); $ch = curl_init($image); $uploaddir = wp_upload_dir(); $filename = $filedetails['filename'] . rand(1, 9999) . '.' . $filedetails['extension']; //we add some random digits to make sure it's unique $fp = fopen(trailingslashit($uploaddir['path']) . $filename, 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); $guid = trailingslashit($uploaddir['url']) . $filename; $attachment = array( 'post_mime_type' => $mime, 'guid' => $guid, 'post_title' => '[External image] : ' . $filedetails['filename'] , 'post_content' => '', 'post_author' => $user_id, 'post_status' => 'inherit', 'post_date' => date( 'Ymd H:i:s' ), 'post_date_gmt' => date( 'Ymd H:i:s' ) ); // Add the file to the media library and generate thumbnail. $attach_id = wp_insert_attachment( $attachment, trailingslashit($uploaddir['url']) . $filename, $post_id ); $attach_data = wp_generate_attachment_metadata( $attach_id, trailingslashit($uploaddir['path']) . $filename ); wp_update_attachment_metadata( $attach_id, $attach_data ); add_post_meta($post_id, '_standard_image', trailingslashit($uploaddir['url']) . $filename); } } } else { if($_FILES['image_imagepost']['error'] == 0) { $image = $tmp->saveUpload( 'image_imagepost' ); add_post_meta($post_id, '_standard_image', wp_get_attachment_url($image['attachment_id']) ); } } $nsfw = isset($_POST['nsfw_image']) ? 1 : 2; add_post_meta($post_id, '_standard_nsfw', $nsfw); add_post_meta($post_id, '_anonymous', $anonymous); break; html: <textarea name="title_image" class="form-control" rows="1" placeholder="">
Außerdem habe ich versucht, Code aus Videocode in ein Bild wie folgt zu kopieren:
update_post_meta($post_id, '_thumbnail_id', $attach_id);
edit: Das habe ich versucht, den Bildcode zu ändern:
case "window-image": $format = 'image'; $title = esc_html($_POST['title_image']); $image = esc_url($_POST['postimage']); $tags = $_POST['tags_image']; $comments = isset($_POST['comments_image']) ? 1 : 0; $anonymous = isset($_POST['anonymous_image']) ? 1 : 0; $comment_status = $comments == 1 ? 'open' : 'closed'; $user_id = $id; if(($_FILES['image_imagepost']['error'] != 0 && $image == '') || $title == '') { wp_redirect(home_url('/') . '?posterror=1'); exit; } $post = array( 'comment_status' => $comment_status, 'ping_status' => 'open', 'post_author' => $user_id, 'post_content' => '', 'post_status' => $status, 'post_title' => $title, 'post_type' => 'post', ); $post_id = wp_insert_post($post); if($image != '') { $pattern = '~' . get_bloginfo('url') . '~'; if(preg_match($pattern, $image) ) { add_post_meta($post_id, '_standard_image', wp_get_attachment_url($audio_file['attachment_id']) ); } else { //we have an external image :) we save it with the cURL library $filedetails = pathinfo($image); $mime = ''; if($filedetails['extension'] == 'jpe' || $filedetails['extension'] == 'jpg' || $filedetails['extension'] == 'jpeg') { $mime = 'image/jpeg'; } elseif($filedetails['extension'] == 'png') { $mime = 'image/png'; } elseif($filedetails['extension'] == 'gif') { $mime = 'image/gif'; } if($mime != '') { require_once( ABSPATH . "wp-admin" . '/includes/image.php' ); $ch = curl_init($image); $uploaddir = wp_upload_dir(); $filename = $filedetails['filename'] . rand(1, 9999) . '.' . $filedetails['extension']; //we add some random digits to make sure it's unique $fp = fopen(trailingslashit($uploaddir['path']) . $filename, 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); $guid = trailingslashit($uploaddir['url']) . $filename; $attachment = array( 'post_mime_type' => $mime, 'guid' => $guid, 'post_title' => '[External image] : ' . $filedetails['filename'] , 'post_content' => '', 'post_author' => $user_id, 'post_status' => 'inherit', 'post_date' => date( 'Ymd H:i:s' ), 'post_date_gmt' => date( 'Ymd H:i:s' ) ); // Add the file to the media library and generate thumbnail. $attach_id = wp_insert_attachment( $attachment, trailingslashit($uploaddir['url']) . $filename, $post_id ); $attach_data = wp_generate_attachment_metadata( $attach_id, trailingslashit($uploaddir['path']) . $filename ); wp_update_attachment_metadata( $attach_id, $attach_data ); update_post_meta($post_id, '_thumbnail_id', $attach_id); } } } else { if(isset($_FILES['image_imagepost']) && $_FILES['image_imagepost']['error'] == 0) { $image_imagepost = $tmp->saveUpload( 'image_imagepost' ); add_post_meta($post_id, '_standard_image', wp_get_attachment_url($image_imagepost['attachment_id']) ); } } $nsfw = isset($_POST['nsfw_image']) ? 1 : 2; add_post_meta($post_id, '_standard_nsfw', $nsfw); add_post_meta($post_id, '_anonymous', $anonymous); break;
Er nimmt das Bild auf dem Kostümfeld des Themas, aber er hat es nicht auch für das vorgestellte Bild wie auf Videos genommen.
Vielen Dank…
Solutions Collecting From Web of "einige Verbesserungen an einem hochgeladenen Bildcode"
-
Fügen Sie die div-class nur einem Widget hinzu
-
Geben Sie Kindern eindeutige IDs
-
Kann ein Authentifizierungsschlüssel für die WP-REST-API zur Konfiguration hinzugefügt werden?
-
zwei WordPress-Seiten, zwei Themen, eine database, der gleiche Inhalt
-
Sortierbares benutzerdefiniertes Meta speichert die Kontrollkästchenwerte nicht korrekt
-
WordPress-Archiv-Indexseite
-
Erlaube mit IP-Adresse besuchen Sie WordPress wp-Login-Seite
-
Zeigen Sie benutzerdefinierte Debug-Informationen innerhalb der Seite und nicht vor dem Kopf an
-
Wie fügt man benutzerdefinierten Code in die wp_nav_menu Struktur ein?
-
funktioniert pre_get_comments nicht?
-
Wie kann ich festlegen, dass bestimmte Plug-in-functionen für verschiedene Websites in einem Netzwerk gelten?
-
Langsam wp_enqueue_media ()
-
Seitenausgabe in seltsamen Zeichen
-
Wie erstelle ich meinen eigenen edit.php Admin Seitencode oder Template für meinen benutzerdefinierten Post Typ
-
Fügen Sie dem aktiven Element und seinem übergeordneten Element im Navigationsmenü eine class hinzu