longnguyenwp

Untitled

Aug 29th, 2025
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 33.11 KB | None | 0 0
  1.  
  2. add_filter( 'rwmb_meta_boxes', 'functionName' );
  3.  
  4. function functionName( $meta_boxes ) {
  5.     $prefix = 'services_';
  6.  
  7.     $meta_boxes[] = [
  8.         'title'        => __( 'Services CPT', 'text-domain' ),
  9.         'id'           => 'services',
  10.         'post_types'   => ['service'],
  11.         'storage_type' => 'custom_table',
  12.         'tab_remember' => false,
  13.         'table'        => 'wp_cpt_service',
  14.         'tabs'         => [
  15.             'services_services_display_settings' => [
  16.                 'label' => 'Public Display Settings',
  17.                 'icon'  => '',
  18.             ],
  19.             'services_services_meta_tab'         => [
  20.                 'label' => 'Meta',
  21.                 'icon'  => '',
  22.             ],
  23.             'services_services_main_copy'        => [
  24.                 'label' => 'Main Copy',
  25.                 'icon'  => '',
  26.             ],
  27.             'services_services_features_tab'     => [
  28.                 'label' => 'Features',
  29.                 'icon'  => '',
  30.             ],
  31.             'services_services_process_tab'      => [
  32.                 'label' => 'Process',
  33.                 'icon'  => '',
  34.             ],
  35.             'services_services_comparisons_tab'  => [
  36.                 'label' => 'Comparisons',
  37.                 'icon'  => '',
  38.             ],
  39.             'services_services_testimonials'     => [
  40.                 'label' => 'Testimonials',
  41.                 'icon'  => '',
  42.             ],
  43.         ],
  44.         'fields'       => [
  45.             [
  46.                 'type' => 'custom_html',
  47.                 'id'   => $prefix . 'services_custom_html_ubrmpqq2thi',
  48.                 'name' => __( 'Instructions', 'text-domain' ),
  49.                 'std'  => __( 'Default toggles for all sections is OFF. Turning these ON or OFF <b>does not affect your saved data for these sections.</b> It only decides whether these sections appear <b>publicly</b> on the page.', 'text-domain' ),
  50.                 'tab'  => 'services_services_display_settings',
  51.             ],
  52.             [
  53.                 'name'              => __( 'Features Section On/Off', 'text-domain' ),
  54.                 'id'                => $prefix . 'public__toggle__features_section',
  55.                 'type'              => 'switch',
  56.                 'style'             => 'rounded',
  57.                 'on_label'          => 'On',
  58.                 'off_label'         => 'Off',
  59.                 'std'               => false,
  60.                 'tab'               => 'services_services_display_settings',
  61.                 'label_description' => __( 'This section is where you\'d put features and benefits, typically with images or icons accompanying each "feature item." See the Features tab for more information.', 'text-domain' ),
  62.                 'columns'           => 3,
  63.             ],
  64.             [
  65.                 'name'              => __( 'Process Section On/Off', 'text-domain' ),
  66.                 'id'                => $prefix . 'public__toggle__process_section',
  67.                 'type'              => 'switch',
  68.                 'style'             => 'rounded',
  69.                 'on_label'          => 'On',
  70.                 'off_label'         => 'Off',
  71.                 'std'               => false,
  72.                 'tab'               => 'services_services_display_settings',
  73.                 'label_description' => __( 'This section is where you\'d put your 1-2-3-etc. process so your customers know how you work. See the Process tab for more information.', 'text-domain' ),
  74.                 'columns'           => 3,
  75.             ],
  76.             [
  77.                 'name'              => __( 'Comparisons Section On/Off', 'text-domain' ),
  78.                 'id'                => $prefix . 'public__toggle__comparisons_section',
  79.                 'type'              => 'switch',
  80.                 'style'             => 'rounded',
  81.                 'on_label'          => 'On',
  82.                 'off_label'         => 'Off',
  83.                 'std'               => false,
  84.                 'tab'               => 'services_services_display_settings',
  85.                 'label_description' => __( 'This section is where you might address prospects\' objections early by differentiating yourself from other service providers. See the Comparisons tab for more information.', 'text-domain' ),
  86.                 'columns'           => 3,
  87.             ],
  88.             [
  89.                 'name'              => __( 'Testimonials Section On/Off', 'text-domain' ),
  90.                 'id'                => $prefix . 'public__toggle__testimonials_section',
  91.                 'type'              => 'switch',
  92.                 'style'             => 'rounded',
  93.                 'on_label'          => 'On',
  94.                 'off_label'         => 'Off',
  95.                 'std'               => false,
  96.                 'tab'               => 'services_services_display_settings',
  97.                 'label_description' => __( 'This section is where you can select which testimonials to showcase for this service. See the Testimonials tab for more information.', 'text-domain' ),
  98.                 'columns'           => 3,
  99.             ],
  100.             [
  101.                 'name'              => __( 'FAQ Section On/Off', 'text-domain' ),
  102.                 'id'                => $prefix . 'public__toggle__faq_section',
  103.                 'type'              => 'switch',
  104.                 'style'             => 'rounded',
  105.                 'on_label'          => 'On',
  106.                 'off_label'         => 'Off',
  107.                 'std'               => false,
  108.                 'tab'               => 'services_services_display_settings',
  109.                 'label_description' => __( 'This section is where you can select FAQ questions to link to this service.', 'text-domain' ),
  110.                 'columns'           => 3,
  111.             ],
  112.             [
  113.                 'name'              => __( 'Gutenberg Content On/Off', 'text-domain' ),
  114.                 'id'                => $prefix . 'public__toggle__gutenberg_content',
  115.                 'type'              => 'switch',
  116.                 'style'             => 'rounded',
  117.                 'on_label'          => 'On',
  118.                 'off_label'         => 'Off',
  119.                 'std'               => false,
  120.                 'tab'               => 'services_services_display_settings',
  121.                 'label_description' => __( '"Gutenberg Content" refers to the main content in the WordPress editor. Turning this on/off determines whether this content will appear publicly on the service page.', 'text-domain' ),
  122.                 'columns'           => 3,
  123.             ],
  124.             [
  125.                 'name'              => __( 'Bricksbuilder Content On/Off', 'text-domain' ),
  126.                 'id'                => $prefix . 'public__toggle__bricksbuilder_content',
  127.                 'type'              => 'switch',
  128.                 'style'             => 'rounded',
  129.                 'on_label'          => 'On',
  130.                 'off_label'         => 'Off',
  131.                 'std'               => false,
  132.                 'tab'               => 'services_services_display_settings',
  133.                 'label_description' => __( '"Bricks Builder Content" refers to the pagebuilder content in Bricks Builder (if you used Bricks to create unique content for this service). Turning this on/off determines whether this content will appear publicly on the service page.', 'text-domain' ),
  134.                 'columns'           => 3,
  135.             ],
  136.             [
  137.                 'name'              => __( 'H1 Text', 'text-domain' ),
  138.                 'id'                => $prefix . 'meta__text__h1',
  139.                 'type'              => 'text',
  140.                 'sanitize_callback' => 'none',
  141.                 'limit_type'        => 'character',
  142.                 'tab'               => 'services_services_meta_tab',
  143.                 'columns'           => 6,
  144.             ],
  145.             [
  146.                 'name'              => __( 'Description Heading Text', 'text-domain' ),
  147.                 'id'                => $prefix . 'meta__text__description_heading',
  148.                 'type'              => 'text',
  149.                 'sanitize_callback' => 'none',
  150.                 'limit_type'        => 'character',
  151.                 'tab'               => 'services_services_meta_tab',
  152.                 'columns'           => 6,
  153.             ],
  154.             [
  155.                 'name'       => __( 'Description Body Text', 'text-domain' ),
  156.                 'id'         => $prefix . 'meta__text__description_body',
  157.                 'type'       => 'text',
  158.                 'limit_type' => 'character',
  159.                 'tab'        => 'services_services_meta_tab',
  160.             ],
  161.             [
  162.                 'name'        => __( 'Description Checklist', 'text-domain' ),
  163.                 'id'          => $prefix . 'meta__description_checklist',
  164.                 'type'        => 'group',
  165.                 'collapsible' => true,
  166.                 'clone'       => true,
  167.                 'sort_clone'  => true,
  168.                 'tab'         => 'services_services_meta_tab',
  169.                 'min_clone'   => 0,
  170.                 'max_clone'   => 0,
  171.                 'group_title' => __( '{service_description_item__text__heading}', 'text-domain' ),
  172.                 'fields'      => [
  173.                     [
  174.                         'name'              => __( 'Icon', 'text-domain' ),
  175.                         'id'                => $prefix . 'item_icon',
  176.                         'type'              => 'single_image',
  177.                         'label_description' => __( 'Use an SVG', 'text-domain' ),
  178.                         'columns'           => 2,
  179.                     ],
  180.                     [
  181.                         'name'       => __( 'Description Item Heading Text', 'text-domain' ),
  182.                         'id'         => $prefix . 'item__text__heading',
  183.                         'type'       => 'text',
  184.                         'limit_type' => 'character',
  185.                         'columns'    => 5,
  186.                     ],
  187.                     [
  188.                         'name'       => __( 'Description Item Body Text', 'text-domain' ),
  189.                         'id'         => $prefix . 'description_item__text__body',
  190.                         'type'       => 'textarea',
  191.                         'limit_type' => 'character',
  192.                         'columns'    => 5,
  193.                     ],
  194.                 ],
  195.             ],
  196.             [
  197.                 'name'       => __( 'Main CTA Button Text', 'text-domain' ),
  198.                 'id'         => $prefix . 'meta__text__main_cta_button',
  199.                 'type'       => 'text',
  200.                 'limit_type' => 'character',
  201.                 'tab'        => 'services_services_meta_tab',
  202.             ],
  203.             [
  204.                 'name'       => __( 'Main Copy Accent Heading Text', 'text-domain' ),
  205.                 'id'         => $prefix . 'main_copy__text__heading_accent',
  206.                 'type'       => 'textarea',
  207.                 'limit_type' => 'character',
  208.                 'tab'        => 'services_services_main_copy',
  209.                 'columns'    => 4,
  210.             ],
  211.             [
  212.                 'name'       => __( 'Main Copy Heading Text', 'text-domain' ),
  213.                 'id'         => $prefix . 'main_copy__text__heading',
  214.                 'type'       => 'textarea',
  215.                 'limit_type' => 'character',
  216.                 'tab'        => 'services_services_main_copy',
  217.                 'columns'    => 4,
  218.             ],
  219.             [
  220.                 'name'       => __( 'Main Copy Body Text', 'text-domain' ),
  221.                 'id'         => $prefix . 'main_copy__text__body',
  222.                 'type'       => 'textarea',
  223.                 'limit_type' => 'character',
  224.                 'tab'        => 'services_services_main_copy',
  225.                 'columns'    => 4,
  226.             ],
  227.             [
  228.                 'type' => 'custom_html',
  229.                 'id'   => $prefix . 'services_custom_html_8la1drp2p8n',
  230.                 'name' => __( 'Instructions', 'text-domain' ),
  231.                 'std'  => __( 'This section is where you\'d put features and benefits, typically with images or icons accompanying each "feature item."', 'text-domain' ),
  232.                 'tab'  => 'services_services_features_tab',
  233.             ],
  234.             [
  235.                 'name'              => __( 'Use images instead of icons?', 'text-domain' ),
  236.                 'id'                => $prefix . 'features__toggle__use_images_instead_of_icons',
  237.                 'type'              => 'switch',
  238.                 'style'             => 'rounded',
  239.                 'on_label'          => 'Yes',
  240.                 'off_label'         => 'No',
  241.                 'std'               => false,
  242.                 'tab'               => 'services_services_features_tab',
  243.                 'label_description' => __( 'For the section, do you want to use images (e.g. photographs, or anything in raster image format) or icons (i.e. SVG vector files)', 'text-domain' ),
  244.                 'columns'           => 3,
  245.             ],
  246.             [
  247.                 'name'            => __( 'Include list, lede, or both in sidebar?', 'text-domain' ),
  248.                 'id'              => $prefix . 'features__select__includes',
  249.                 'type'            => 'select',
  250.                 'options'         => [
  251.                     'list' => __( 'List', 'text-domain' ),
  252.                     'lede' => __( 'Lede', 'text-domain' ),
  253.                 ],
  254.                 'multiple'        => true,
  255.                 'select_all_none' => true,
  256.                 'tab'             => 'services_services_features_tab',
  257.                 'columns'         => 3,
  258.             ],
  259.             [
  260.                 'type' => 'divider',
  261.                 'id'   => $prefix . 'services_divider_9lw04xgisjw',
  262.                 'name' => __( 'Divider', 'text-domain' ),
  263.                 'tab'  => 'services_services_features_tab',
  264.             ],
  265.             [
  266.                 'type' => 'heading',
  267.                 'id'   => $prefix . 'services_heading_f0i0h8pf47f',
  268.                 'name' => __( 'Features Section Introduction', 'text-domain' ),
  269.                 'desc' => __( 'This is where you\'ll build the introduction to the features section of this service page.', 'text-domain' ),
  270.                 'tab'  => 'services_services_features_tab',
  271.             ],
  272.             [
  273.                 'name'              => __( 'Accent Heading Text', 'text-domain' ),
  274.                 'id'                => $prefix . 'features__text__section_intro__heading_accent',
  275.                 'type'              => 'text',
  276.                 'limit_type'        => 'character',
  277.                 'tab'               => 'services_services_features_tab',
  278.                 'label_description' => __( 'This is the small "accent" text that appears just above your main heading.', 'text-domain' ),
  279.                 'columns'           => 6,
  280.             ],
  281.             [
  282.                 'name'              => __( 'Heading Text', 'text-domain' ),
  283.                 'id'                => $prefix . 'features__text__section_intro__heading',
  284.                 'type'              => 'text',
  285.                 'limit_type'        => 'character',
  286.                 'tab'               => 'services_services_features_tab',
  287.                 'label_description' => __( 'This is the main heading text for your features section. It appears as the largest text in the introduction.', 'text-domain' ),
  288.                 'columns'           => 6,
  289.             ],
  290.             [
  291.                 'name'              => __( 'Body Text', 'text-domain' ),
  292.                 'id'                => $prefix . 'features__text__section_intro__body',
  293.                 'type'              => 'textarea',
  294.                 'limit_type'        => 'character',
  295.                 'tab'               => 'services_services_features_tab',
  296.                 'label_description' => __( 'This is the body text (known as the "lede") that appears just below your heading. It\'s typically no longer than one short paragraph.', 'text-domain' ),
  297.             ],
  298.             [
  299.                 'type' => 'divider',
  300.                 'id'   => $prefix . 'services_divider_rq10wz4qzxm',
  301.                 'name' => __( 'Divider', 'text-domain' ),
  302.                 'tab'  => 'services_services_features_tab',
  303.             ],
  304.             [
  305.                 'type' => 'heading',
  306.                 'id'   => $prefix . 'services_heading_834iz2g4l9u',
  307.                 'name' => __( 'Feature Section Items', 'text-domain' ),
  308.                 'desc' => __( 'This is where you\'ll build your "features and benefits" copy. Think of each item as it\'s own feature/benefit, complete with built-in sub-items for additional copy within it (if desired).', 'text-domain' ),
  309.                 'tab'  => 'services_services_features_tab',
  310.             ],
  311.             [
  312.                 'name'        => __( 'Feature Item', 'text-domain' ),
  313.                 'id'          => $prefix . 'features__item',
  314.                 'type'        => 'group',
  315.                 'collapsible' => true,
  316.                 'save_state'  => true,
  317.                 'group_title' => __( 'Item {#}: {service_item__text__heading}', 'text-domain' ),
  318.                 'clone'       => true,
  319.                 'sort_clone'  => true,
  320.                 'tab'         => 'services_services_features_tab',
  321.                 'min_clone'   => 0,
  322.                 'max_clone'   => 0,
  323.                 'add_button'  => __( '+ Add another feature to the features section', 'text-domain' ),
  324.                 'fields'      => [
  325.                     [
  326.                         'name'              => __( 'Icon', 'text-domain' ),
  327.                         'id'                => $prefix . 'feature_item__icon',
  328.                         'type'              => 'single_image',
  329.                         'label_description' => __( 'What icon do you want to use for this feature/benefit?', 'text-domain' ),
  330.                         'desc'              => __( 'NOTE: only appears publicly if you left the "images" toggle OFF', 'text-domain' ),
  331.                         'columns'           => 2,
  332.                     ],
  333.                     [
  334.                         'name'              => __( 'Image', 'text-domain' ),
  335.                         'id'                => $prefix . 'feature_item__image',
  336.                         'type'              => 'single_image',
  337.                         'label_description' => __( 'What image do you want to use for this feature/benefit?', 'text-domain' ),
  338.                         'desc'              => __( 'NOTE: only appears if you toggle "ON" the images setting', 'text-domain' ),
  339.                         'columns'           => 2,
  340.                     ],
  341.                     [
  342.                         'type' => 'divider',
  343.                         'id'   => $prefix . 'services_divider_p5hxuv0eamn',
  344.                         'name' => __( 'Divider', 'text-domain' ),
  345.                     ],
  346.                     [
  347.                         'name'              => __( 'Accent Heading Text', 'text-domain' ),
  348.                         'id'                => $prefix . 'feature_item__text__heading_accent',
  349.                         'type'              => 'text',
  350.                         'limit_type'        => 'character',
  351.                         'label_description' => __( 'This is the small "accent" text that appears just above this feature/benefit\'s heading.', 'text-domain' ),
  352.                         'columns'           => 5,
  353.                     ],
  354.                     [
  355.                         'name'              => __( 'Heading Text', 'text-domain' ),
  356.                         'id'                => $prefix . 'feature_item__text__heading',
  357.                         'type'              => 'text',
  358.                         'sanitize_callback' => 'none',
  359.                         'limit_type'        => 'character',
  360.                         'label_description' => __( 'This is the main heading text for your features section. It appears as the largest text in this feature/benefit\'s copy.', 'text-domain' ),
  361.                         'columns'           => 6,
  362.                     ],
  363.                     [
  364.                         'name'              => __( 'Body Text', 'text-domain' ),
  365.                         'id'                => $prefix . 'feature_item__text__body',
  366.                         'type'              => 'textarea',
  367.                         'limit_type'        => 'character',
  368.                         'label_description' => __( 'This is the body text (known as the "lede") that appears just below this feature/benefit\'s heading. It\'s typically no longer than one short paragraph.', 'text-domain' ),
  369.                     ],
  370.                     [
  371.                         'type' => 'divider',
  372.                         'id'   => $prefix . 'services_divider_n8608ne4cc8',
  373.                         'name' => __( 'Divider', 'text-domain' ),
  374.                     ],
  375.                     [
  376.                         'name'              => __( 'Feature Sub-Item', 'text-domain' ),
  377.                         'id'                => $prefix . 'feature_sub_item',
  378.                         'type'              => 'group',
  379.                         'collapsible'       => true,
  380.                         'save_state'        => false,
  381.                         'group_title'       => __( 'Sub-Item {#}: {service_subitem__text__heading}', 'text-domain' ),
  382.                         'clone'             => true,
  383.                         'sort_clone'        => true,
  384.                         'label_description' => __( 'If you want more body copy below the above copy, this is where that magic happens!', 'text-domain' ),
  385.                         'after'             => '{translate}<p><em><strong>NOTE:</strong> FEATURE SUB-ITEMS APPEAR LIKE THE BELOW IN YOUR COPY:</em></p>
  386. ---BEGIN EXAMPLE---
  387. <ul>
  388. <li><p><strong>Sub-Item Heading Text</strong><br/>Sub-item Body Text</p></li><ul>
  389. ---END EXAMPLE---<p><em>SO IN PRACTICE, THAT MIGHT LOOK LIKE THIS EXAMPLE:</em></p>
  390. ---BEGIN EXAMPLE---
  391. <ul>
  392. <li><p><strong>Campaigns built around clear KPIs.</strong><br/>Generate immediate leads? Attract mid-funnel prospects? Raise brand awareness? Every goal measures success differently. I\'ll help you define KPIs for every campaign. So you can measure performance with confidence.</p></li></ul>
  393. ---END EXAMPLE---{/translate}',
  394.                         'min_clone'         => 0,
  395.                         'max_clone'         => 0,
  396.                         'add_button'        => __( '+ Add another sub-item to this feature', 'text-domain' ),
  397.                         'fields'            => [
  398.                             [
  399.                                 'name'       => __( 'Sub-Item Heading Text', 'text-domain' ),
  400.                                 'id'         => $prefix . 'feature_sub_item__text__heading',
  401.                                 'type'       => 'text',
  402.                                 'limit_type' => 'character',
  403.                                 'columns'    => 5,
  404.                             ],
  405.                             [
  406.                                 'name'       => __( 'Sub-Item Body Text', 'text-domain' ),
  407.                                 'id'         => $prefix . 'feature_sub_item__text__body',
  408.                                 'type'       => 'textarea',
  409.                                 'limit_type' => 'character',
  410.                                 'columns'    => 5,
  411.                             ],
  412.                         ],
  413.                     ],
  414.                 ],
  415.             ],
  416.             [
  417.                 'name'       => __( 'Accent Heading Text', 'text-domain' ),
  418.                 'id'         => $prefix . 'process__text__heading_accent',
  419.                 'type'       => 'text',
  420.                 'limit_type' => 'character',
  421.                 'tab'        => 'services_services_process_tab',
  422.                 'columns'    => 6,
  423.             ],
  424.             [
  425.                 'name'              => __( 'Process Heading Text', 'text-domain' ),
  426.                 'id'                => $prefix . 'process__text__heading',
  427.                 'type'              => 'text',
  428.                 'sanitize_callback' => 'none',
  429.                 'limit_type'        => 'character',
  430.                 'tab'               => 'services_services_process_tab',
  431.                 'columns'           => 6,
  432.             ],
  433.             [
  434.                 'name'              => __( 'Process Body Text', 'text-domain' ),
  435.                 'id'                => $prefix . 'process__text__body',
  436.                 'type'              => 'textarea',
  437.                 'sanitize_callback' => 'none',
  438.                 'limit_type'        => 'character',
  439.                 'tab'               => 'services_services_process_tab',
  440.             ],
  441.             [
  442.                 'name'        => __( 'Process Step', 'text-domain' ),
  443.                 'id'          => $prefix . 'process__item__step',
  444.                 'type'        => 'group',
  445.                 'collapsible' => true,
  446.                 'clone'       => true,
  447.                 'sort_clone'  => true,
  448.                 'tab'         => 'services_services_process_tab',
  449.                 'min_clone'   => 0,
  450.                 'max_clone'   => 0,
  451.                 'group_title' => __( '{#} - {service_item__text__heading}', 'text-domain' ),
  452.                 'fields'      => [
  453.                     [
  454.                         'name'    => __( 'Icon', 'text-domain' ),
  455.                         'id'      => $prefix . 'item__icon',
  456.                         'type'    => 'single_image',
  457.                         'columns' => 2,
  458.                     ],
  459.                     [
  460.                         'name'       => __( 'Step Heading Text', 'text-domain' ),
  461.                         'id'         => $prefix . 'item__text__heading',
  462.                         'type'       => 'text',
  463.                         'limit_type' => 'character',
  464.                         'columns'    => 6,
  465.                     ],
  466.                     [
  467.                         'name'       => __( 'Step Body Text', 'text-domain' ),
  468.                         'id'         => $prefix . 'item__text__body',
  469.                         'type'       => 'textarea',
  470.                         'limit_type' => 'character',
  471.                         'columns'    => 4,
  472.                     ],
  473.                 ],
  474.             ],
  475.             [
  476.                 'name'      => __( 'Use Custom Comparison Section Headings?', 'text-domain' ),
  477.                 'id'        => $prefix . 'comparisons__toggle__use_custom_comparison_section_headings',
  478.                 'type'      => 'switch',
  479.                 'style'     => 'rounded',
  480.                 'on_label'  => 'Yes',
  481.                 'off_label' => 'No',
  482.                 'std'       => false,
  483.                 'tab'       => 'services_services_comparisons_tab',
  484.                 'columns'   => 3,
  485.             ],
  486.             [
  487.                 'name'      => __( 'Include Global Comparisons?', 'text-domain' ),
  488.                 'id'        => $prefix . 'comparisons__toggle__include_global_comparisons',
  489.                 'type'      => 'switch',
  490.                 'style'     => 'rounded',
  491.                 'on_label'  => 'Yes',
  492.                 'off_label' => 'No',
  493.                 'std'       => false,
  494.                 'tab'       => 'services_services_comparisons_tab',
  495.                 'columns'   => 3,
  496.             ],
  497.             [
  498.                 'name'              => __( 'Comparisons Heading Text', 'text-domain' ),
  499.                 'id'                => $prefix . 'comparisons__text__heading',
  500.                 'type'              => 'textarea',
  501.                 'sanitize_callback' => 'none',
  502.                 'limit_type'        => 'character',
  503.                 'tab'               => 'services_services_comparisons_tab',
  504.                 'columns'           => 6,
  505.                 'visible'           => ['service_use_custom_comparison_section_headings', 1],
  506.             ],
  507.             [
  508.                 'name'              => __( 'Comparisons Subheading Text', 'text-domain' ),
  509.                 'id'                => $prefix . 'comparisons__text__subheading',
  510.                 'type'              => 'textarea',
  511.                 'sanitize_callback' => 'none',
  512.                 'limit_type'        => 'character',
  513.                 'tab'               => 'services_services_comparisons_tab',
  514.                 'visible'           => ['service_use_custom_comparison_section_headings', 1],
  515.             ],
  516.             [
  517.                 'name'        => __( 'Comparison Item', 'text-domain' ),
  518.                 'id'          => $prefix . 'comparisons__item',
  519.                 'type'        => 'group',
  520.                 'collapsible' => true,
  521.                 'clone'       => true,
  522.                 'sort_clone'  => true,
  523.                 'tab'         => 'services_services_comparisons_tab',
  524.                 'min_clone'   => 0,
  525.                 'max_clone'   => 0,
  526.                 'group_title' => __( '{service_item__text__heading_positive}', 'text-domain' ),
  527.                 'fields'      => [
  528.                     [
  529.                         'name'              => __( 'Negative Heading Text', 'text-domain' ),
  530.                         'id'                => $prefix . 'comparison_item__text__heading_negative',
  531.                         'type'              => 'textarea',
  532.                         'sanitize_callback' => 'none',
  533.                         'limit_type'        => 'character',
  534.                     ],
  535.                     [
  536.                         'name'       => __( 'Positive Heading Text', 'text-domain' ),
  537.                         'id'         => $prefix . 'comparison_item__text__heading_positive',
  538.                         'type'       => 'textarea',
  539.                         'limit_type' => 'character',
  540.                     ],
  541.                     [
  542.                         'name'              => __( 'Positive Body Text', 'text-domain' ),
  543.                         'id'                => $prefix . 'comparison_item__text__body_positive',
  544.                         'type'              => 'textarea',
  545.                         'sanitize_callback' => 'none',
  546.                         'limit_type'        => 'character',
  547.                     ],
  548.                 ],
  549.             ],
  550.             [
  551.                 'name'              => __( 'Use Custom Testimonial Section Headings?', 'text-domain' ),
  552.                 'id'                => $prefix . 'testimonials__toggle__use_custom_testimonial_section_headings',
  553.                 'type'              => 'switch',
  554.                 'style'             => 'rounded',
  555.                 'on_label'          => 'Yes',
  556.                 'off_label'         => 'No',
  557.                 'std'               => false,
  558.                 'tab'               => 'services_services_testimonials',
  559.                 'label_description' => __( 'Do you want to override the global default testimonial section headings on this page?', 'text-domain' ),
  560.             ],
  561.             [
  562.                 'name'              => __( 'Testimonials Heading Text', 'text-domain' ),
  563.                 'id'                => $prefix . 'testimonials__text__heading',
  564.                 'type'              => 'textarea',
  565.                 'sanitize_callback' => 'none',
  566.                 'limit_type'        => 'character',
  567.                 'tab'               => 'services_services_testimonials',
  568.                 'visible'           => ['service_use_custom_testimonial_section_headings', 1],
  569.             ],
  570.             [
  571.                 'name'              => __( 'Testimonials Subheading Text', 'text-domain' ),
  572.                 'id'                => $prefix . 'testimonials__text__subheading',
  573.                 'type'              => 'textarea',
  574.                 'sanitize_callback' => 'none',
  575.                 'limit_type'        => 'character',
  576.                 'tab'               => 'services_services_testimonials',
  577.                 'visible'           => ['service_use_custom_testimonial_section_headings', 1],
  578.             ],
  579.         ],
  580.     ];
  581.  
  582.     return $meta_boxes;
  583. }
Advertisement
Add Comment
Please, Sign In to add comment