it-swarm-ko.tech

이미지를 대량 업로드하고 동시에 각각의 게시물을 자동으로 만들 수 있습니까?

기존 게시물에 여러 이미지를 업로드하는 방법을 알고 있지만 이것은 다른 시나리오입니다. 이는 애셋의 커다란 카탈로그를위한 것으로, 각 맞춤 포스트 유형 게시물은 이미지 애셋을 나타냅니다 (따라서 하나의 이미지가 각 게시물의 "추천 이미지"로 할당됩니다).

전체 시스템은 한 번에 하나씩 자산을 생성하는 데는 효과적이지만 시간이 오래 걸립니다. 한 번에 여러 이미지를 일괄 업로드 한 다음 각 이미지에 대해 새 게시물을 만든 다음 이미지를 새 게시물에 "추천 이미지"로 첨부 할 수 있어야합니다.

각 게시물에 입력 된 텍스트 컨텐츠는 없습니다. 일부 메타 데이터 및 사용자 정의 분류 지정은이 배치 작성 프로세스 중에 메타 데이터와 분류를 일괄 적으로 지정할 수 있어야합니다.

나는 (일반적으로 이미지 업로드/할당을 처리하지 않는) XML-RPC 포스트 생성에서 서버 디렉토리의 미디어 라이브러리 (포스트 생성을 다루지는 않음)에 파일을 가져 오는 플러그인에 대한 연구를했으며 jquery multiple file 업 로더 (기본적으로 디렉토리의 파일을 그냥 덤프).

나는 PHP에 비교적 정통 해 플러그인과 테마를 만들었지 만,이 프로세스를 처리하는 방법에 어려움을 겪습니다. 파일을 임시 용량으로 서버에 가져 와서 파일을 기반으로 게시물을 생성하는 첫 번째 단계가 필요하기 때문입니다. 업로드 및 일부 식별 메타 데이터를 전체 배치에 할당 할 수 있습니다.

사용자 정의 관리자 패널에서이 작업을 수행 할 수 있기를 바랍니다. 그러나 wp-admin 외부에서이 작업을 수행해야하는 경우에도 괜찮습니다.

아이디어?

10
somatic

이 플러그인이 있습니다 : 자동 추천 이미지 포스트 플러그인

플러그인 페이지에서 :

자동 추천 이미지 포스트는 이미지가 업로드 될 때마다 추천 이미지로 새로운 게시물을 만듭니다. 플러그인 설정 페이지를 통해 게시 할 이미지를 설정하고 다른 기존 맞춤 게시물 유형 및/또는 게시 형식 중 하나에 자신을 할당 할 수 있습니다.

기본적으로 업로드 된 모든 이미지는 선택한 포스트 유형의 게시물을 생성하고 해당 게시물의 추천 이미지로 설정됩니다.

로컬 컴퓨터에 설치했습니다. 설정 페이지는 다음과 같으며 사용자 정의 게시 유형, 사진 업로드를 할당 할 게시 유형 및 게시 상태를 선택할 수 있습니다.

Screenshot of plugin

플러그인을 실제로 활용하려면 선택한 게시물 유형으로 이동하고 새 게시물을 열고 미디어를 업로드하십시오.

사진을 대량 업로드하려면 '업로드'대화 상자에서 여러 사진을 강조 표시하면됩니다. 나는 여기 8 장의 사진을 강조하고 있지만, Wordpress 이미지 업 로더에 대해 잘 모르는 한도가 없다면 80이나 800이 될 수없는 이유는 없습니다.

enter image description here

게시물의 제목은 이미지 파일 이름에 의해 설정됩니다. 그걸로 작업하고 the_title()을 사용하여 테마에서 호출 할 수 있어야합니다.

나는 로컬에서 테스트했으며 Wordpress 3.6에서 작동합니다.

이 작업을 수행하는 데 더 강력하거나 유연한 방법이있을 것이라고 확신하지만,이 경우 플러그인은 메타 데이터 할당을 제외하고 사용자가 요구하는대로 정확하게 수행하는 것으로 보입니다. 어쩌면 다른 누군가가 고기를 조금씩 뺄 수도 있습니다.

동적으로 생성 된 게시물 내용이 필요한 경우 적어도 플러그인으로 시작하여 거기에서 반복 할 수 있습니다. 게시물이 표시되는 방식을 결정하기 위해 포스트 형식 또는 페이지 템플릿을 사용하는 것이 하나의 생각이었습니다.

주의 : functions.php에 모든 image_size를 설정했는지 확인하십시오. 10,000 장의 사진을 실행 취소/삭제하거나 이미지 크기를 잊어 버렸거나 변경했기 때문에 매우 긴 "축소판 재생성"을 실행하면 안됩니다!

5
timshutes

이 스크립트는 개념 증명 (테스트 및 작동)이며, 플러그인이 아니며 해킹 당할 수 있습니다. 몇 가지 가정합니다.

  1. 그것은 wp_insert_post를 사용하기 때문에 어떤 관리 훅에도 연결하지 말고 한 번 실행하십시오!
  2. 이미지는 wp-content\uploads 폴더에 있어야하며이를 변경하려면 건너 뛰기 위해 더 많은 후프가 필요합니다. 이 예제에서는 uploads 폴더에서 \images라는 사용자 정의 폴더를 사용하므로이 부분을 변경할 수 있습니다.
  3. 어떤 오류 검사도하지 않고, 결과가 다를 수 있으므로 20 개의 이미지가있는 폴더에서만 테스트했습니다.

아래 코드는 wp-content\uploads\images 폴더를 반복하고 첨부 된 이미지의 이름을 기반으로 게시물 제목을 만듭니다. 당신은 아마도 당신이 가지고있는 다른 데이터 (Exif 어쩌면)를 사용하여 메타 데이터를 더 좋게 또는 가능한 것으로 바꾸고 싶을 것입니다.

function WPSE_1595_image_post() {

    // We need to use the default uploads dir
    $wp_upload_dir =  wp_upload_dir();
    // The actual folder
    $wp_upload_images = $wp_upload_dir['basedir'] . '/images';

    require_once(ABSPATH . 'wp-admin/includes/image.php');

    foreach (new DirectoryIterator($wp_upload_images) as $fileInfo) {

        if($fileInfo->isDot()) continue;

        $image_base = $fileInfo->getFilename();
        $image_name = pathinfo($fileInfo, PATHINFO_FILENAME);

        //Customize this post data as you wish
        $my_post_data = array(
            'post_title' => $image_name,
            'post_type' => 'post',
            'post_category' => array('1'),
            'post_author'   => 1,
            'post_status' => 'publish'
        );

        // We need the ID for the attachment
        $post_id = wp_insert_post($my_post_data);

        $wp_filetype = wp_check_filetype($image_base, null );

         //Customize this attachment data as you wish
        $attachment = array(
             'guid' => $wp_upload_dir['url'] . '/' . $image_name, 
             'post_mime_type' => $wp_filetype['type'],
             'post_title' => 'child-' . $image_name,
             'post_content' => '',
             'post_status' => 'inherit'
        );

        $imagefile = $wp_upload_images . '/' . $image_base;
        $attach_id = wp_insert_attachment( $attachment, $imagefile, $post_id );
        $attach_data = wp_generate_attachment_metadata( $attach_id, $imagefile );

        wp_update_attachment_metadata( $attach_id, $attach_data );
    }   
}

몇 천 개가 넘는 이미지라면 다음을 사용하면 더 쉬울 것입니다.

5
Wyck

"Cleanup uploads 폴더, 미디어 라이브러리 db 구조" Question에는 관련이있을 수있는 플러그인 제안 사항이 있습니다. 그러나 정보가 유용 할 수도 있습니다.

1
hakre