add_panel( 'onepress_services', array( 'priority' => 170, 'title' => esc_html__( 'Section: Services', 'onepress' ), 'description' => '', 'active_callback' => 'onepress_showon_frontpage' ) ); $wp_customize->add_section( 'onepress_service_settings', array( 'priority' => 3, 'title' => esc_html__( 'Section Settings', 'onepress' ), 'description' => '', 'panel' => 'onepress_services', ) ); // Show Content $wp_customize->add_setting( 'onepress_services_disable', array( 'sanitize_callback' => 'onepress_sanitize_checkbox', 'default' => '', ) ); $wp_customize->add_control( 'onepress_services_disable', array( 'type' => 'checkbox', 'label' => esc_html__( 'Hide this section?', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => esc_html__( 'Check this box to hide this section.', 'onepress' ), ) ); // Section ID $wp_customize->add_setting( 'onepress_services_id', array( 'sanitize_callback' => 'onepress_sanitize_text', 'default' => esc_html__( 'services', 'onepress' ), ) ); $wp_customize->add_control( 'onepress_services_id', array( 'label' => esc_html__( 'Section ID:', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => 'The section ID should be English character, lowercase and no space.' ) ); // Title $wp_customize->add_setting( 'onepress_services_title', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => esc_html__( 'Our Services', 'onepress' ), ) ); $wp_customize->add_control( 'onepress_services_title', array( 'label' => esc_html__( 'Section Title', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => '', ) ); // Sub Title $wp_customize->add_setting( 'onepress_services_subtitle', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => esc_html__( 'Section subtitle', 'onepress' ), ) ); $wp_customize->add_control( 'onepress_services_subtitle', array( 'label' => esc_html__( 'Section Subtitle', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => '', ) ); // Description $wp_customize->add_setting( 'onepress_services_desc', array( 'sanitize_callback' => 'onepress_sanitize_text', 'default' => '', ) ); $wp_customize->add_control( new OnePress_Editor_Custom_Control( $wp_customize, 'onepress_services_desc', array( 'label' => esc_html__( 'Section Description', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => '', ) ) ); // Services layout $wp_customize->add_setting( 'onepress_service_layout', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => '6', ) ); $wp_customize->add_control( 'onepress_service_layout', array( 'label' => esc_html__( 'Services Layout Settings', 'onepress' ), 'section' => 'onepress_service_settings', 'description' => '', 'type' => 'select', 'choices' => array( '3' => esc_html__( '4 Columns', 'onepress' ), '4' => esc_html__( '3 Columns', 'onepress' ), '6' => esc_html__( '2 Columns', 'onepress' ), '12' => esc_html__( '1 Column', 'onepress' ), ), ) ); onepress_add_upsell_for_section( $wp_customize, 'onepress_service_settings' ); $wp_customize->add_section( 'onepress_service_content', array( 'priority' => 6, 'title' => esc_html__( 'Section Content', 'onepress' ), 'description' => '', 'panel' => 'onepress_services', ) ); // Section service content. $wp_customize->add_setting( 'onepress_services', array( 'sanitize_callback' => 'onepress_sanitize_repeatable_data_field', 'transport' => 'refresh', // refresh or postMessage ) ); $wp_customize->add_control( new Onepress_Customize_Repeatable_Control( $wp_customize, 'onepress_services', array( 'label' => esc_html__( 'Service content', 'onepress' ), 'description' => '', 'section' => 'onepress_service_content', 'live_title_id' => 'content_page', // apply for unput text and textarea only 'title_format' => esc_html__( '[live_title]', 'onepress' ), // [live_title] 'max_item' => 4, // Maximum item can add, 'limited_msg' => wp_kses_post( __( 'Upgrade to OnePress Plus to be able to add more items and unlock other premium features!', 'onepress' ) ), 'fields' => array( 'icon_type' => array( 'title' => esc_html__( 'Custom icon', 'onepress' ), 'type' => 'select', 'options' => array( 'icon' => esc_html__( 'Icon', 'onepress' ), 'image' => esc_html__( 'image', 'onepress' ), ), ), 'icon' => array( 'title' => esc_html__( 'Icon', 'onepress' ), 'type' => 'icon', 'required' => array( 'icon_type', '=', 'icon' ), ), 'image' => array( 'title' => esc_html__( 'Image', 'onepress' ), 'type' => 'media', 'required' => array( 'icon_type', '=', 'image' ), ), 'content_page' => array( 'title' => esc_html__( 'Select a page', 'onepress' ), 'type' => 'select', 'options' => $option_pages ), 'enable_link' => array( 'title' => esc_html__( 'Link to single page', 'onepress' ), 'type' => 'checkbox', ), ), ) ) ); // Services icon size $wp_customize->add_setting( 'onepress_service_icon_size', array( 'sanitize_callback' => 'onepress_sanitize_select', 'default' => '5x', ) ); $wp_customize->add_control( 'onepress_service_icon_size', array( 'label' => esc_html__( 'Icon Size', 'onepress' ), 'section' => 'onepress_service_content', 'description' => '', 'type' => 'select', 'choices' => array( '5x' => esc_html__( '5x', 'onepress' ), '4x' => esc_html__( '4x', 'onepress' ), '3x' => esc_html__( '3x', 'onepress' ), '2x' => esc_html__( '2x', 'onepress' ), '1x' => esc_html__( '1x', 'onepress' ), ), ) ); // Service content source $wp_customize->add_setting( 'onepress_service_content_source', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => 'excerpt', ) ); $wp_customize->add_control( 'onepress_service_content_source', array( 'label' => esc_html__( 'Item content source', 'onepress' ), 'section' => 'onepress_service_content', 'description' => '', 'type' => 'select', 'choices' => array( 'content' => esc_html__( 'Full Page Content', 'onepress' ), 'excerpt' => esc_html__( 'Page Excerpt', 'onepress' ), ), ) );