WordPress 3.5 미디어 업로더 다중 파일 선택
커스텀 설정 페이지가 있는 WordPress 테마를 만들고 있습니다.일부 설정에서는 사용자가 이미지 세트를 업로드/추가해야 합니다(1개 이상).미디어 업로더의 기본 동작은 단일 이미지를 업로드 또는 선택하여 게시물에 삽입하는 것입니다.
미디어 업로더의 사용에 관한 이 훌륭한 가이드에 따라 복수의 설정을 true로 할 수 있는 것을 제안하고 있습니다만, 1개의 파일만 업로드 또는 선택할 수 있습니다.
제 코드는 다음과 같습니다.
커스텀 설정 페이지이므로 필요한 스크립트를 로드합니다.
if(function_exists( 'wp_enqueue_media' )){
wp_enqueue_media();
}else{
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
}
Javascript/jQuery 미디어 업로더를 표시하고 선택한 이미지를 처리합니다.
var tgm_media_frame;
$('.upload-images').click(function() {
if ( tgm_media_frame ) {
tgm_media_frame.open();
return;
}
tgm_media_frame = wp.media.frames.tgm_media_frame = wp.media({
multiple: true,
library: {
type: 'image'
},
});
tgm_media_frame.on('select', function(){
var selection = tgm_media_frame.state().get('selection');
selection.map( function( attachment ) {
attachment = attachment.toJSON();
console.log(attachment);
// Do something with attachment.id and/or attachment.url here
});
});
tgm_media_frame.open();
});
여러 개의 파일 선택을 제대로 할 수 있는 사람이 있습니까?내가 뭘 빼놓았나요?감사합니다!
옷만 갈아입으면 돼multiple:true로.multiple:'add'. 이것이 기본 Create Gallery 동작 방식입니다.
갱신하다
질의응답 후 미디어 업로더가 업데이트 된 것 같습니다.이전 버전의 워드프레스에서는multiple: 'add'다른 사용자가 제안한 옵션이 없습니다.잘 모르겠어요.
코드만 있으면 다 괜찮아.약간의 부품만 빠졌습니다.
selection.map( function( attachment ) {
attachment = attachment.toJSON();
$("#something").after("<img src=" +attachment.url+">");
});
끝나고attachment변환된toJSON매뉴얼에 기재되어 있는 대로 사용할 수 있습니다.이미지 URL을 서버에 게시하는 일부 숨김 필드에 배치하고 선택한 이미지를 사용자에게 동시에 표시할 수 있습니다.
조금 이상한 점은 +를 click눌러 이미지를 선택해야 한다는 것입니다.오히려 체크박스나 뭐 그런 거겠죠.
갱신하다
여러 이미지를 선택할 때 + 또는 click+가 워드프레스 방식으로 제공됩니다ctrl.click자세한 내용을 보려면 를 여십시오.
...\wp-displays\media-displays.displays.display
정의된 함수가 있습니다.toggleSelectionHandler. 사용자가 누른 키 조합을 듣고 그에 따라 특정 클래스를 변경하여 실제 선택을 유발하는 다른 기능을 호출합니다.
firbug 검사 후 두 가지 클래스가 적용됨을 알 수 있습니다.
selecteddetails
details클래스는 현재 클릭/액티브 선택(파란색 두꺼운 테두리 포함)에 대한 스타일을 정의합니다.selected는 실제로 이미지를 선택한 것으로 표시하고 선택 배열로 반환합니다.
이 동작은 파일 자체에서 변경할 수도 있고 선택을 처리하는 자체 함수를 작성할 수도 있습니다.하지만 첫 번째 접근은 좋지 않다.
PS : Wordpress는 실제로 위의 파일을 사용하지 않습니다.동일한 파일의 압축 버전을 선택합니다.따라서 압축되지 않은 파일을 로드하여 재생하는 것이 좋습니다.wordpress가 압축되지 않은 js 파일을 사용하도록 설정할 수 있습니다.
define('SCRIPT_DEBUG', true);
wp-config.php이것은, 다음의 동작을 건너뜁니다.load-scripts.php(「JS」 「Marge」 「Marge」 「Marge'의 'Marge'의 'Marge'의 'Marge'의 'Marge'의 'Marge'의 'Marge'가 됩니다).
만약 누군가가 이것을 어떻게 하는지 알고 싶어 한다면, 한 가지 방법은 이것이다.구현 범위 내의 기본 동작을 완전히 덮어씁니다.
wp.media.view.Attachment.prototype.toggleSelectionHandler = function( event ) {
var method = 'between';
if ( event.shiftKey ) {
method = 'between';
} else {
method = 'toggle';
}
this.toggleSelection({
method: method
});
};
ifmultiple로 설정되어 있다.true갤러리 화면처럼 여러 항목을 선택할 수 있습니다.
언급URL : https://stackoverflow.com/questions/17473885/wordpress-3-5-media-uploader-multiple-file-select
'programing' 카테고리의 다른 글
| WordPress에서 Yoast seo 플러그인을 통해 기본 카테고리를 설정하는 방법 (0) | 2023.02.07 |
|---|---|
| 필드 수를 알 수 없는 포스트 메타 삭제 및 추가 (0) | 2023.02.07 |
| WP Rest API + 각도JS : 페이지에 표시할 Feature Image를 캡처하는 방법 (0) | 2023.02.07 |
| 루비의 JSON 문자열 구문 분석 (0) | 2023.02.07 |
| Woocommerce Wordpress - update_post_meta를 사용하여 제품 속성을 추가합니다. (0) | 2023.02.07 |