반응형
워드프레스:관리 옵션 페이지에서 이미지 업로드
첫 워드프레스 플러그인을 개발 중입니다.사용자가 사용자 정의 템플릿에서 로고를 변경하고 사용자 정의 템플릿에서 색상표를 변경할 수 있도록 허용하기만 하면 됩니다.
관리 옵션 페이지를 만들었습니다.이제 사용자가 이미지를 업로드할 수 있는 필드를 추가하려고 합니다.wp-content/uploads 폴더에 이미지를 업로드하려면 어떻게 해야 하나요?여기까지는 테이블 안에 있습니다.
<td><input name="logo_image" type="file" id="logo_image" value="" /></td>
이것이 올바른 접근법입니까?이 경우 파일을 올바른 폴더로 이동하려면 어떻게 해야 합니까?워드프레스는 파일 업로드를 처리하는 독자적인 방법이 있지 않나요?
글로벌 커스텀옵션 함수에 이 코드를 추가합니다.
if(function_exists( 'wp_enqueue_media' )){
wp_enqueue_media();
}else{
wp_enqueue_style('thickbox');
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
}
<p><strong>Header Logo Image URL:</strong><br />
<img class="header_logo" src="<?php echo get_option('header_logo'); ?>" height="100" width="100"/>
<input class="header_logo_url" type="text" name="header_logo" size="60" value="<?php echo get_option('header_logo'); ?>">
<a href="#" class="header_logo_upload">Upload</a>
</p>
<script>
jQuery(document).ready(function($) {
$('.header_logo_upload').click(function(e) {
e.preventDefault();
var custom_uploader = wp.media({
title: 'Custom Image',
button: {
text: 'Upload Image'
},
multiple: false // Set this to true to allow multiple files to be selected
})
.on('select', function() {
var attachment = custom_uploader.state().get('selection').first().toJSON();
$('.header_logo').attr('src', attachment.url);
$('.header_logo_url').val(attachment.url);
})
.open();
});
});
</script>
또는
워드프레스의 내장 기능을 사용할 수 있습니다.
<?php wp_handle_upload( $file, $overrides, $time ); ?>
그러면 파일이 업로드 폴더로 자동으로 이동합니다.
또는
직접 쓰셔도 됩니다.PHP
기능.
자세한 내용은 여기를 참조해 주세요.-> Wordpress 파일 업로드
언급URL : https://stackoverflow.com/questions/22874469/wordpress-upload-image-in-admin-options-page
반응형
'source' 카테고리의 다른 글
내장된 리액션 앱 위젯을 작성할 수 있습니까? (0) | 2023.02.14 |
---|---|
$190 $190 동기식 또는 비동기식? (0) | 2023.02.14 |
JSON의 연속 스트림 처리 (0) | 2023.02.14 |
약속에서 돌아오다() (0) | 2023.02.14 |
관리화면 서브메뉴 항목에 커스텀 HTML 클래스 이름을 추가하는 방법 (0) | 2023.02.14 |