Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1.  
  2. // Enqueue scripts
  3. wp_enqueue_script( 'jquery' );
  4. wp_enqueue_media();
  5.  
  6.  
  7. /*
  8. * Generate the fields
  9. */
  10. function generateImageUploadFields( $inputName, $buttonName, $previewImageID = '', $buttonValue = '')
  11. {
  12. ?>
  13. <div class="image-upload"
  14. data-input="<?php echo $inputName;?>"
  15. data-button="<?php echo $buttonName;?>"
  16. data-preview="<?php echo $previewImageID;?>">
  17. <input type="hidden" name="<?php echo $inputName;?>" id="<?php echo $inputName;?>"/>
  18. <input type="button" name="<?php echo $buttonName;?>" id="<?php echo $buttonName;?>"
  19. class="button-secondary" value="<?php echo $buttonValue;?>"/>
  20. <?php if($previewImageID) { ?>
  21. <div class="image-preview-container">
  22. <img id="<?php echo $previewImageID;?>" class="previewImage" src=""/>
  23. <span class="deleteImagePreview"></span>
  24. </div>
  25. <?php } ?>
  26. </div>
  27.  
  28. <?php
  29. }
  30.  
  31.  
  32. /*
  33. * Localized admin js file
  34. */
  35.  
  36. //<editor-fold desc=">>> IMAGE UPLOAD">
  37.  
  38. // Find all Image Upload containers
  39. var _containers = $('.image-upload');
  40. if(_containers)
  41. {
  42. // Enable the image upload functionality for each
  43. $.each(_containers, function(a,b)
  44. {
  45. var container = $(b);
  46. // Check attributes
  47. if(container.attr('data-input').length && container.attr('data-button').length)
  48. {
  49. var input = $('#'+container.attr('data-input')),
  50. button = $('#'+container.attr('data-button')),
  51. previewImg = null,
  52. deleteImageButton = null,
  53. title = ((typeof(WPK.imageUploadTitle) != 'undefined') ? WPK.imageUploadTitle : 'Upload Image');
  54.  
  55. if(container.attr('data-preview').length) {
  56. previewImg = $('#' + container.attr('data-preview'));
  57. deleteImageButton = $('.deleteImagePreview', container);
  58. }
  59.  
  60. if(deleteImageButton)
  61. {
  62. deleteImageButton.on('click', function(e){
  63. e.preventDefault(); e.stopPropagation();
  64. if(previewImg) {
  65. previewImg.removeClass('imagePreview-visible').attr('src', '');
  66. input.val('');
  67. }
  68. });
  69. }
  70.  
  71. if(input && button)
  72. {
  73. button.on('click', function(e)
  74. {
  75. e.preventDefault();
  76. var image = wp.media({
  77. title: title,
  78. // multiple: true if you want to upload multiple files at once
  79. multiple: false
  80. }).open()
  81. .on('select', function(e){
  82. // This will return the selected image from the Media Uploader, the result is an object
  83. var uploaded_image = image.state().get('selection').first();
  84. // Convert uploaded_image to a JSON object to make accessing it easier
  85. var image_url = uploaded_image.toJSON().url;
  86. // Set the url as value to the input field
  87. input.val(image_url);
  88. // Display the image
  89. if(previewImg) {
  90. previewImg.attr('src', image_url).addClass('imagePreview-visible');
  91. }
  92. });
  93. });
  94. }
  95. }
  96. });
  97. }
  98. //</editor-fold desc=">>> IMAGE UPLOAD">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement