Wrap a seasonal present Task
Given a wrapper element and a non-jagged 3D array, wrap the array top, bottom, and all-around. You must handle both character and numeric data, but the wrapper and the present will have the same data type.

Character example
For character data, you may chose to handle either 3D arrays of single characters or 2D arrays of strings:
Given the 2 layer, 2 row, 4 column character array
[[[&quot;Y&quot;,&quot;o&quot;,&quot;u&quot;,&quot;r&quot;],
  [&quot;g&quot;,&quot;i&quot;,&quot;f&quot;,&quot;t&quot;]],

  [[&quot;g&quot;,&quot;o&quot;,&quot;e&quot;,&quot;s&quot;],
  [&quot;h&quot;,&quot;e&quot;,&quot;r&quot;,&quot;e&quot;]]]

and the character &quot;.&quot;, answer the 4 layer, 4 row, 6 column character array
[[[&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;]],

 [[&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;Y&quot;,&quot;o&quot;,&quot;u&quot;,&quot;r&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;g&quot;,&quot;i&quot;,&quot;f&quot;,&quot;t&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;]],

 [[&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;g&quot;,&quot;o&quot;,&quot;e&quot;,&quot;s&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;h&quot;,&quot;e&quot;,&quot;r&quot;,&quot;e&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;]],

 [[&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;],
  [&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;,&quot;.&quot;]]]

or given the 2 row, 2 column array of 4-character strings
[[&quot;Your&quot;,
  &quot;gift&quot;],

 [&quot;goes&quot;,
  &quot;here&quot;]]

and the character &quot;.&quot;, answer the 4 row, 4 column array of 6-character strings
[[&quot;......&quot;,
  &quot;......&quot;,
  &quot;......&quot;,
  &quot;......&quot;],

 [&quot;......&quot;,
  &quot;.Your.&quot;,
  &quot;.gift.&quot;,
  &quot;......&quot;],

 [&quot;......&quot;,
  &quot;.goes.&quot;,
  &quot;.here.&quot;,
  &quot;......&quot;],

 [&quot;......&quot;,
  &quot;......&quot;,
  &quot;......&quot;,
  &quot;......&quot;]]


Numeric example
Given the 2 layer, 2 row, 2 column numeric array
[[[1,2],
  [3,4]],

 [[5,6],
  [7,8]]]`

and the number 0, answer the 4 layer, 4 row, 4 column numeric array
[[[0,0,0,0],
   [0,0,0,0],
   [0,0,0,0],
   [0,0,0,0]],

  [[0,0,0,0],
   [0,1,2,0],
   [0,3,4,0],
   [0,0,0,0]],

  [[0,0,0,0],
   [0,5,6,0],
   [0,7,8,0],
   [0,0,0,0]],

  [[0,0,0,0],
   [0,0,0,0],
   [0,0,0,0],
   [0,0,0,0]]]
J, 16 15 bytes

[h"2[h"1 h=.,,[


This is an anonymous verb. Try it online!

Thanks to Adám for 1 byte!

Explanation

[h"2[h"1 h=.,,[  Wrapper is x, present is y.
            ,    Prepend x to y
             ,   then append
              [  x.
                 This gives x y x, and the wrapper automatically spreads to form 2D slices.
         h=.     Save the above operation (not its result) to h.
    [h"1         Apply h to x and every 2D slice of the previous result.
[h"2             Apply h to x and every 1D slice of the result of that.