2011-03-08 4 views
0

내 게시물마다 미리보기 이미지 용 맞춤 게시물 메타 필드를 설정했습니다. 이 함수는 올바르게 호출되고 있으며 마지막 줄까지 모두 작동합니다. update_post_metaWordPress 맞춤 게시물 메타에 대한 미리보기 이미지 업로드

흥미로운 점은 $imageURL을 반향 출력하고 올바른 주소를 얻고 파일을 잘 업로드 할 수 있다는 것입니다. 심지어 update_post_meta 문자열이나 함수 내의 다른 변수가 될 수 있지만 $imageURL 또는 $uploaded_file['url']을 사용하려고하면 빈 문자열에 게시물 메타를 설정하기 만합니다.

WordPress 3.1 이상으로 개발 된 프로젝트에서이 스 니펫을 사용했지만이 3.1은 3.1입니다. 그것과 관련이있을 수 있습니까? 이것이 의심스러운 버그 중 하나 인 것 같기 때문에 의심 스럽다.

function tcr_save_thumbnail($post_id, $post) { 
    if (!wp_verify_nonce($_POST['eventmeta_noncename'], plugin_basename(__FILE__))) { 
     return $post->ID; 
    } 

    if (!current_user_can('edit_post', $post->ID)) 
     return $post->ID; 

    if(!empty($_FILES['tcr_thumbnail_meta']['name'])) { //New upload 
     require_once(ABSPATH . 'wp-admin/includes/file.php'); 
     $override['action'] = 'editpost'; 
     $uploaded_file = wp_handle_upload($_FILES['tcr_thumbnail_meta'], $override); 

     $post_id = $post->ID; 
     $attachment = array(
      'post_title' => $_FILES['tcr_thumbnail_meta']['name'], 
      'post_content' => '', 
      'post_type' => 'attachment', 
      'post_parent' => $post_id, 
      'post_mime_type' => $_FILES['tcr_thumbnail_meta']['type'], 
      'guid' => $uploaded_file['url'] 
     ); 
     // Save the data 
     $id = wp_insert_attachment($attachment,$_FILES['tcr_thumbnail_meta'][ 'file' ], $post_id); 
     wp_update_attachment_metadata($id, wp_generate_attachment_metadata($id, $_FILES['tcr_thumbnail_meta']['file'])); 
     $imageURL = $uploaded_file['url']; 
     update_post_meta($post->ID, "tcr_thumbnail_meta", $imageURL); 
    } 
} 

답변

관련 문제