longnguyenwp

Filipe Woo custom fields

May 19th, 2021
850
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. add_filter( 'rwmb_meta_boxes', 'metabox_product_get_meta_box' );
  3. function metabox_product_get_meta_box( $meta_boxes ) {
  4.  
  5.     //Exibição no loja
  6.     $meta_boxes[] = [
  7.         'id' => 'product_shop_format',
  8.         'title' => esc_html__( 'Exibição na loja', 'decostore' ),
  9.         'post_types' => [ 'product' ],
  10.         'context' => 'advanced',
  11.         'priority' => 'high',
  12.         'autosave' => true,
  13.         'fields' => [
  14.                 [
  15.                 'type'    => 'radio',
  16.                 'name'    => esc_html__( 'Checkbox List', 'decostore' ),
  17.                 'id'      => 'product_shop_format',
  18.                 'options' => [
  19.                     'landscape' => esc_html__( 'Landscape', 'decostore' ),
  20.                     'portrait'  => esc_html__( 'Portrait', 'decostore' ),
  21.                 ],
  22.             ],
  23.         ],
  24.     ];
  25.    
  26.     //Slogan
  27.     $meta_boxes[] = array(
  28.         'id' => 'product_slogan',
  29.         'title' => esc_html__( 'Frase de Efeito', 'decostore' ),
  30.         'post_types' => array( 'product' ),
  31.         'context' => 'advanced',
  32.         'priority' => 'high',
  33.         'autosave' => true,
  34.         'fields' => array(
  35.             array(
  36.                 'id' => 'product_slogan',
  37.                 'type' => 'textarea',
  38.                 'name' => esc_html__( 'Slogan', 'decostore' ),
  39.                 'desc' => esc_html__( 'Ex.: Um ícone do Design Contemporâneo', 'decostore' ),
  40.             ),
  41.         ),
  42.     );
  43.     //Detalhes do produto
  44.     $meta_boxes[] = array(
  45.         'id' => 'product_details',
  46.         'title' => esc_html__( 'Detalhes do Produto', 'decostore' ),
  47.         'post_types' => array( 'product' ),
  48.         'context' => 'advanced',
  49.         'priority' => 'high',
  50.         'autosave' => true,
  51.         'fields' => array(
  52.             array(
  53.                 'id' => 'product_indicated',
  54.                 'type' => 'textarea',
  55.                 'name' => esc_html__( 'Indicado para', 'decostore' ),
  56.                 'clone' => true,
  57.                 'std' => '',
  58.                 'desc' => esc_html__( 'Ex.: Uso comercial, industrial, etc...', 'decostore' ),
  59.             ),
  60.             array(
  61.                 'id' => 'product_finishes',
  62.                 'type' => 'textarea',
  63.                 'name' => esc_html__( 'Acabamentos', 'decostore' ),
  64.                 'clone' => true,
  65.                 'std' => '',
  66.                 'desc' => esc_html__( 'Ex.: Aço Galvanizado com pintura eletrostática', 'decostore' ),
  67.             ),
  68.             array(
  69.                 'id' => 'product_datasheet',
  70.                 'type' => 'textarea',
  71.                 'name' => esc_html__( 'Ficha Técnica', 'decostore' ),
  72.                 'clone' => true,
  73.                 'std' => '',
  74.                 'desc' => esc_html__( 'Ex.: Acabamentos com mais detalhes, exemplo tipo do aço/espessura', 'decostore' ),
  75.             ),
  76.             array(
  77.                 'id' => 'product_care',
  78.                 'type' => 'textarea',
  79.                 'name' => esc_html__( 'Cuidados', 'decostore' ),
  80.                 'clone' => true,
  81.                 'std' => '',
  82.                 'desc' => esc_html__( 'Ex.: Evitar exposição a luz e raios solares através de janelas, portas ou vidraças.', 'decostore' ),
  83.             ),
  84.             array(
  85.                 'id' => 'product_warranty',
  86.                 'type' => 'textarea',
  87.                 'name' => esc_html__( 'Garântia', 'decostore' ),
  88.                 'desc' => esc_html__( 'Ex.: *Os produtos possuem 5 anos de garantia pela fábrica, para defeitos de fabricação.', 'decostore' ),
  89.             ),
  90.             /*
  91.             array(
  92.                 'id' => 'product_warranty_time',
  93.                 'type' => 'textarea',
  94.                 'name' => esc_html__( 'Tempo da Garantia de Fabrica', 'decostore' ),
  95.                 'desc' => esc_html__( 'Ex.: 5 anos de garantia de fábrica. *', 'decostore' ),
  96.             ),
  97.             */
  98.             array(
  99.                 'id' => 'product_awards',
  100.                 'type' => 'textarea',
  101.                 'name' => esc_html__( 'Premios', 'decostore' ),
  102.                 'clone' => true,
  103.                 'std' => '',
  104.                 'desc' => esc_html__( 'Ex.: Premios que o produto ganhou', 'decostore' ),
  105.             ),
  106.             array(
  107.                 'id' => 'product_additionals',
  108.                 'type' => 'textarea',
  109.                 'name' => esc_html__( 'Informações adicionais', 'decostore' ),
  110.                 'clone' => true,
  111.                 'std' => '',
  112.                 'desc' => esc_html__( 'Ex.: Devido ao nosso processo de produção artesanal, as medidas podem variar em até 2% para mais ou para menos.', 'decostore' ),
  113.             ),
  114.             /*
  115.             array(
  116.                 'id' => 'product_naturals',
  117.                 'type' => 'checkbox',
  118.                 'name' => esc_html__( 'Produto com Materiais Naturais', 'decostore' ),
  119.                 'desc' => esc_html__( 'Exemplo: Madeira, Couro, Pedras...', 'decostore' ),
  120.             ),*/
  121.         ),
  122.     );
  123.  
  124.     // Montagem
  125.     $meta_boxes[] = array(
  126.         'id' => 'product_assembly',
  127.         'title' => esc_html__( 'Montagem', 'decostore' ),
  128.         'post_types' => array( 'product' ),
  129.         'context' => 'advanced',
  130.         'priority' => 'high',
  131.         'autosave' => true,
  132.         'fields' => array(
  133.             array(
  134.                 'id' => 'product_disassembled',
  135.                 'type' => 'checkbox',
  136.                 'name' => esc_html__( 'Produto Desmontado', 'decostore' ),
  137.                 'desc' => esc_html__( 'Produto Desmontado', 'decostore' ),
  138.             ),
  139.             array(
  140.                 'id' => 'product_easy_assembly',
  141.                 'type' => 'checkbox',
  142.                 'name' => esc_html__( 'Fácil de Montagem', 'decostore' ),
  143.                 'desc' => esc_html__( 'É facil montar tipo lego e vem com manual', 'decostore' ),
  144.             ),
  145.             array(
  146.                 'id' => 'product_need_assembler',
  147.                 'type' => 'checkbox',
  148.                 'name' => esc_html__( 'Precisa de montador', 'decostore' ),
  149.                 'desc' => esc_html__( 'Precisa de montador', 'decostore' ),
  150.             ),
  151.         ),
  152.     );
  153.  
  154.     // Links Externos
  155.     $meta_boxes[] = array(
  156.         'id' => 'product_external',
  157.         'title' => esc_html__( 'Links Externos do Produto', 'decostore' ),
  158.         'post_types' => array( 'product' ),
  159.         'context' => 'advanced',
  160.         'priority' => 'high',
  161.         'autosave' => true,
  162.         'fields' => array(
  163.             array(
  164.                 'id' => 'product_external_link',
  165.                 'type' => 'textarea',
  166.                 'name' => esc_html__( 'Link Externo', 'decostore' ),
  167.                 'desc' => esc_html__( 'Ex.: https://site-externo.com/calculadora-de-metros/', 'decostore' ),
  168.             ),
  169.             array(
  170.                 'id' => 'product_external_name',
  171.                 'type' => 'textarea',
  172.                 'name' => esc_html__( 'Nome do Link', 'decostore' ),
  173.                 'desc' => esc_html__( 'Ex.: Calculadora', 'decostore' ),
  174.             ),
  175.         ),
  176.     );
  177.  
  178.     // Imagens que Rotacionam
  179.     $meta_boxes[] = array(
  180.         'id' => 'product_rotate_image',
  181.         'title' => esc_html__( 'Imagens que Rotacionam', 'decostore' ),
  182.         'post_types' => array( 'product' ),
  183.         'context' => 'advanced',
  184.         'priority' => 'high',
  185.         'autosave' => true,
  186.         'fields' => array(
  187.             array(
  188.                 'id' => 'product_image_rotate',
  189.                 'type' => 'image_advanced',
  190.                 'name' => esc_html__( 'Imagens', 'decostore' ),
  191.                 //'max_file_uploads' => '',
  192.                 'clone' => true,
  193.             ),
  194.         ),
  195.     );
  196.  
  197.     // Galeria
  198.     $meta_boxes[] = array(
  199.         'id' => 'product_gallery_images',
  200.         'title' => esc_html__( 'Galeria', 'decostore' ),
  201.         'post_types' => array( 'product' ),
  202.         'context' => 'advanced',
  203.         'priority' => 'high',
  204.         'autosave' => true,
  205.         'fields' => array(
  206.             array(
  207.                 'id' => 'product_gallery_images',
  208.                 'type' => 'image_advanced',
  209.                 'name' => esc_html__( 'Imagens da Galeria', 'decostore' ),
  210.                 //'max_file_uploads' => '',
  211.             ),
  212.         ),
  213.     );
  214.  
  215.     // Imagens da descrição
  216.     $meta_boxes[] = array(
  217.         'id' => 'product_description_image',
  218.         'title' => esc_html__( 'Imagens da descrição', 'decostore' ),
  219.         'post_types' => array( 'product' ),
  220.         'context' => 'advanced',
  221.         'priority' => 'high',
  222.         'autosave' => true,
  223.         'fields' => array(
  224.             array(
  225.                 'id' => 'product_description_image',
  226.                 'type' => 'image_advanced',
  227.                 'name' => esc_html__( 'Imagens', 'decostore' ),
  228.                 'max_file_uploads' => '3',
  229.             ),
  230.         ),
  231.     );
  232.  
  233.     // Dimensões do produto
  234.     $meta_boxes[] = array(
  235.         'id' => 'product_dimensions',
  236.         'title' => esc_html__( 'Dimensões do Produto', 'decostore' ),
  237.         'post_types' => array( 'product' ),
  238.         'context' => 'advanced',
  239.         'priority' => 'high',
  240.         'autosave' => true,
  241.         'fields' => array(
  242.             array(
  243.                 'id' => 'product_diameter',
  244.                 'type' => 'text',
  245.                 'name' => esc_html__( 'Diametro', 'decostore' ),
  246.             ),
  247.             array(
  248.                 'id' => 'product_width',
  249.                 'type' => 'text',
  250.                 'name' => esc_html__( 'Comprimento', 'decostore' ),
  251.             ),
  252.             array(
  253.                 'id' => 'product_depth',
  254.                 'type' => 'text',
  255.                 'name' => esc_html__( 'Profundidade', 'decostore' ),
  256.             ),
  257.             array(
  258.                 'id' => 'product_height',
  259.                 'type' => 'text',
  260.                 'name' => esc_html__( 'Altura', 'decostore' ),
  261.             ),
  262.             array(
  263.                 'id' => 'product_seat_height',
  264.                 'type' => 'text',
  265.                 'name' => esc_html__( 'Altura do Assento', 'decostore' ),
  266.                 'desc' => esc_html__( 'Ex.: Por padrão o sistema já adiciona "cm" na descrição do produto.', 'decostore' ),
  267.             ),
  268.             array(
  269.                 'id' => 'product_arm_height',
  270.                 'type' => 'text',
  271.                 'name' => esc_html__( 'Altura do Braço', 'decostore' ),
  272.                 'desc' => esc_html__( 'Ex.: Por padrão o sistema já adiciona "cm" na descrição do produto.', 'decostore' ),
  273.             ),
  274.             array(
  275.                 'id' => 'product_weight',
  276.                 'type' => 'text',
  277.                 'name' => esc_html__( 'Peso', 'decostore' ),
  278.                 'desc' => esc_html__( 'Por padrão o sistema já adiciona "kg" na descrição do produto.'/*'Adicionar unidade de medida para o peso."g ou kg"'*/, 'decostore' ),
  279.             ),
  280.             array(
  281.                 'id' => 'product_image_dimensions',
  282.                 'type' => 'image_advanced',
  283.                 'name' => esc_html__( 'Imagem Cotada', 'decostore' ),
  284.                 'max_file_uploads' => '1',
  285.             ),
  286.            
  287.         ),
  288.     );
  289.  
  290.     /*
  291.     // Imagem Cotada Adicionada em Dimensões
  292.     $meta_boxes[] = array(
  293.         'id' => 'product_Image_dimensions',
  294.         'title' => esc_html__( 'Dimensões do Produto', 'decostore' ),
  295.         'post_types' => array( 'product' ),
  296.         'context' => 'advanced',
  297.         'priority' => 'high',
  298.         'autosave' => true,
  299.         'fields' => array(
  300.             array(
  301.                 'id' => 'product_image_dimensions',
  302.                 'type' => 'single_image',
  303.                 'multiple' => true,
  304.                 //'type' => 'image_advanced',
  305.                 'name' => esc_html__( 'Imagem Cotada', 'decostore' ),
  306.                 'max_file_uploads' => '1',
  307.             ),
  308.         ),
  309.     );*/
  310.     // Arquivos para Download
  311.     $meta_boxes[] = array(
  312.         'id' => 'product_downloads',
  313.         'title' => esc_html__( 'Arquivos para Download', 'decostore' ),
  314.         'post_types' => array( 'product' ),
  315.         'context' => 'advanced',
  316.         'priority' => 'high',
  317.         'autosave' => true,
  318.         'fields' => array(
  319.             array(
  320.                 'id' => 'product_files',
  321.                 'type' => 'file_advanced',
  322.                 'name' => esc_html__( 'Arquivos 3d', 'decostore' ),
  323.                 // 'max_file_uploads' => '1',
  324.                 'std' => '',
  325.             ),
  326.             array(
  327.                 'id' => 'product_extensions',
  328.                 'type' => 'text',
  329.                 'name' => esc_html__( 'Formato dos arquivos', 'decostore' ),
  330.                 'std' => '',
  331.                 'clone' => true,
  332.                 'desc' => esc_html__( 'Ex.: .skp .cad', 'decostore' ),
  333.             ),
  334.             array(
  335.                 'id' => 'product_manuals',
  336.                 'type' => 'file_advanced',
  337.                 'name' => esc_html__( 'Manual de Montagem', 'decostore' ),
  338.                 // 'max_file_uploads' => '1',
  339.                 'std' => '',
  340.             ),
  341.         ),
  342.     );
  343.  
  344.     // Background
  345.     $meta_boxes[] = array(
  346.         'id' => 'product_background',
  347.         'title' => esc_html__( 'Custom Background', 'decostore' ),
  348.         'post_types' => array( 'product' ),
  349.         'context' => 'advanced',
  350.         'priority' => 'high',
  351.         'autosave' => true,
  352.         'fields' => array(
  353.             array(
  354.                 'id' => 'product_background',
  355.                 'type' => 'image_advanced',
  356.                 'name' => esc_html__( 'Imagem Background', 'decostore' ),
  357.                 'max_file_uploads' => '1',
  358.             ),
  359.         ),
  360.     );
  361.  
  362.     return $meta_boxes;
  363. }
RAW Paste Data