add_panel( 'wpbottommenu_panel', array( 'title' => esc_html__( 'WP Bottom Menu', 'wp-bottom-menu' ), 'priority' => 20 ) ); // // Section: Settings // $wp_customize->add_section( 'wpbottommenu_section_settings', array( 'title' => esc_html__( 'Settings', 'wp-bottom-menu' ), 'priority' => 120, 'panel' => 'wpbottommenu_panel', )); $wp_customize->add_setting( 'wpbottommenu_iconset', array( 'default' => 'fontawesome', 'type' => 'option', ) ); $wp_customize->add_control( 'wpbottommenu_iconset', array( 'type' => 'select', 'section' => 'wpbottommenu_section_settings', 'label' => __( 'Select Icon Type', 'wp-bottom-menu' ), 'description' => __( 'Custom SVG: Paste SVG Icon code.
FontAwesome: Enable FontAwesome Library.', 'wp-bottom-menu' ), 'choices' => array( 'svg' => __( 'Custom SVG' ), 'fontawesome' => __( 'FontAwesome (v4.7)' ), 'fontawesome2' => __( 'FontAwesome (v6.1.1)' ), ), ) ); $wp_customize->add_setting( 'wpbottommenu_display_px' , array( 'default' => '1024', 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_display_px', array( 'label' => __( 'Active The Menu (px)', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_settings', 'settings' => 'wpbottommenu_display_px', 'type' => 'number', )); $wp_customize->add_setting( 'wpbottommenu_display_always' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_display_always', array( 'label' => __( 'Active for any screen size?', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_settings', 'settings' => 'wpbottommenu_display_always', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_target' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_target', array( 'label' => __( 'Open links in a new tab', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_settings', 'settings' => 'wpbottommenu_target', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_zindex' , array( 'default' => '9999', 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_zindex', array( 'label' => __( 'Menu Z-Index', 'wp-bottom-menu' ), 'description' => esc_html__( 'Recommended value: 9999', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_settings', 'settings' => 'wpbottommenu_zindex', 'type' => 'number', )); $wp_customize->add_setting( 'wpbottommenu_search_cpt' , array( 'default' => 'all', 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_search_cpt', array( 'label' => __( 'Custom search post types', 'wp-bottom-menu' ), 'description' => esc_html__( 'Add your post type with a comma. Example: post,product,my-post-type', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_settings', 'settings' => 'wpbottommenu_search_cpt', 'type' => 'text', 'input_attrs' => array( 'placeholder' => 'all', ), )); // // Section: Conditions // $wp_customize->add_section( 'wpbottommenu_section_conditions', array( 'title' => esc_html__( 'Conditions', 'wp-bottom-menu' ), 'priority' => 120, 'panel' => 'wpbottommenu_panel', )); $wp_customize->add_setting( 'wpbottommenu_condition_reverse' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_condition_reverse', array( 'label' => __( 'Reverse the condition?', 'wp-bottom-menu' ), 'description' => __( 'Currently the WP Bottom Menu will appear under the conditions you selected. Check this if you want it to be hidden under the conditions you choose.', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_conditions', 'settings' => 'wpbottommenu_condition_reverse', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_condition', array( 'default' => 'entire', 'type' => 'option', ) ); $wp_customize->add_control( 'wpbottommenu_condition', array( 'type' => 'select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Select the Archive', 'wp-bottom-menu' ), 'description' => __( 'Select a condition' ), 'choices' => array( 'entire' => __( 'Entire Site' ), 'archives' => __( 'Archives' ), 'singular' => __( 'Singular' ), 'woocommerce' => __( 'Woocommerce' ), ), ) ); $wp_customize->add_setting( 'wpbottommenu_archives_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( 'wpbottommenu_archives_condition', array( 'type' => 'select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Archive Elements', 'wp-bottom-menu' ), 'description' => __( 'Select a condition' ), 'choices' => array( 'all' => __( 'All' ), 'author' => __( 'Author' ), 'cats' => __( 'Category' ), 'tags' => __( 'Tags' ), ), ) ); $wp_customize->add_setting( 'wpbottommenu_woocommerce_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( 'wpbottommenu_woocommerce_condition', array( 'type' => 'select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'WooCommerce Elements', 'wp-bottom-menu' ), 'description' => __( 'Select a condition' ), 'choices' => array( 'all' => __( 'All' ), 'archive' => __( 'Product Archives' ), 'shop' => __( 'Shop Page' ), 'cats' => __( 'Product Categories' ), 'tags' => __( 'Product Tags' ), 'products' => __( 'Single Products' ), 'product' => __( 'Single Product' ), ), ) ); $wp_customize->add_setting( 'wpbottommenu_singular_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( 'wpbottommenu_singular_condition', array( 'type' => 'select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Singular Elements', 'wp-bottom-menu' ), 'description' => __( 'Select a condition' ), 'choices' => array( 'all' => __( 'All' ), 'front-page' => __( 'Front Page' ), 'post' => __( 'Post' ), 'pages' => __( 'Pages' ), 'search' => __( 'Seach Results' ), 'page-404' => __( '404 Page' ), ), ) ); $wp_customize->add_setting( 'wpbottommenu_singular_page_condition', array( //'sanitize_callback' => 'wpbottommenu_sanitize_dropdown_pages', 'type' => 'option', ) ); $wp_customize->add_control( new Customize_Control_Multiple_Select( $wp_customize, 'wpbottommenu_singular_page_condition', array( 'type' => 'multiple-select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Single Pages', 'wp-bottom-menu' ), 'description' => __( 'Select a page' ), 'choices' => self::get_available_custom_post( 'page' ), ) ) ); $wp_customize->add_setting( 'wpbottommenu_singular_post_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( new Customize_Control_Multiple_Select( $wp_customize, 'wpbottommenu_singular_post_condition', array( 'type' => 'multiple-select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Single Post', 'wp-bottom-menu' ), 'description' => __( 'Select a condition' ), 'choices' => self::get_available_custom_post( 'post' ), ) ) ); $wp_customize->add_setting( 'wpbottommenu_singular_product_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( new Customize_Control_Multiple_Select( $wp_customize, 'wpbottommenu_singular_product_condition', array( 'type' => 'multiple-select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Single Product', 'wp-bottom-menu' ), 'description' => __( 'Select products' ), 'choices' => self::get_available_custom_post( 'product' ), ) ) ); // User role condition $wp_customize->add_setting( 'wpbottommenu_user_role_condition', array( 'default' => 'all', 'type' => 'option', ) ); $wp_customize->add_control( new Customize_Control_Multiple_Select( $wp_customize, 'wpbottommenu_user_role_condition', array( 'type' => 'multiple-select', 'section' => 'wpbottommenu_section_conditions', 'label' => __( 'Select User Roles Condition', 'wp-bottom-menu' ), 'description' => __( 'WP Bottom Menu will only appear in the user roles you select.' ), 'choices' => wpbm_get_user_roles() ) ) ); // // Section: Customize // $wp_customize->add_section('wpbottommenu_section_customize', array( 'title' => __('Customize', 'wp-bottom-menu'), 'priority' => 130, 'panel' => 'wpbottommenu_panel' )); $wp_customize->add_setting( 'wpbottommenu_placeholder_text' , array( 'default' => 'Search', 'type' => 'option', )); $wp_customize->add_control( 'wpbottommenu_placeholder_text', array( 'label' => __( 'Search Input Placeholder Text', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_placeholder_text', 'type' => 'text', )); $wp_customize->add_setting( 'wpbottommenu_fontsize' , array( 'default' => '12', 'type' => 'option', )); $wp_customize->add_control( 'wpbottommenu_fontsize', array( 'label' => __( 'Menu Font Size (px)', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_fontsize', 'type' => 'number', )); $wp_customize->add_setting( 'wpbottommenu_iconsize' , array( 'default' => '24', 'type' => 'option', )); $wp_customize->add_control( 'wpbottommenu_iconsize', array( 'label' => __( 'Menu Icon Size (px)', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_iconsize', 'type' => 'number', )); $wp_customize->add_setting( 'wpbottommenu_wrapper_padding' , array( 'default' => '10', 'type' => 'option', )); $wp_customize->add_control( 'wpbottommenu_wrapper_padding', array( 'label' => __( 'Menu Padding (px)', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_wrapper_padding', 'type' => 'number', )); $wp_customize->add_setting( 'wpbottommenu_textcolor', array( 'default' => '#555555', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_textcolor', array( 'label' => __( 'Menu Text Color', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_htextcolor', array( 'default' => '#000000', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_htextcolor', array( 'label' => __( 'Menu Hover/Active Text Color', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_iconcolor', array( 'default' => '#555555', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_iconcolor', array( 'label' => __( 'Menu Icon Color', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_hiconcolor', array( 'default' => '#000000', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_hiconcolor', array( 'label' => __( 'Menu Hover/Active Icon Color', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_bgcolor', array( 'default' => '#ffffff', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_bgcolor', array( 'label' => __( 'Menu Background Color', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_disable_title' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_disable_title', array( 'label' => __( 'Disable title?', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_disable_title', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_cart_separator' , array( 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_cart_separator', array( 'label' => __( 'Customize Cart Item', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_cart_separator', 'type' => 'hidden', )); $wp_customize->add_setting( 'wpbottommenu_show_cart_count' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_show_cart_count', array( 'label' => __( 'Show Cart Count', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_show_cart_count', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_cart_count_bgcolor', array( 'default' => '#ff0000', 'section' => 'wpbottommenu_section_customize', 'sanitize_callback' => 'sanitize_hex_color', 'type' => 'option' )); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'wpbottommenu_cart_count_bgcolor', array( 'description' => __('Cart Count Background Color', 'wp-bottom-menu'), 'section' => 'wpbottommenu_section_customize', ))); $wp_customize->add_setting( 'wpbottommenu_show_cart_total' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_show_cart_total', array( 'label' => __( 'Show Cart Total', 'wp-bottom-menu' ), 'description' => __( 'This option override cart menu title.', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_show_cart_total', 'type' => 'checkbox', )); $wp_customize->add_setting( 'wpbottommenu_show_account_name' , array( 'default' => false, 'type' => 'option', )); $wp_customize->add_control('wpbottommenu_show_account_name', array( 'label' => __( 'Show Account Name', 'wp-bottom-menu' ), 'description' => __( 'This option override account menu title. First name is shown, if there is no first name, the username is shown.', 'wp-bottom-menu' ), 'section' => 'wpbottommenu_section_customize', 'settings' => 'wpbottommenu_show_account_name', 'type' => 'checkbox', )); // // Section: Menu Items // $wp_customize->add_section('wpbottommenu_section_menuitems', array( 'title' => __('Menu Items', 'wp-bottom-menu'), 'priority' => 140, 'panel' => 'wpbottommenu_panel' )); $wp_customize->add_setting( 'customizer_repeater_wpbm', array( 'sanitize_callback' => 'customizer_repeater_sanitize', 'type' => 'option', 'default' => json_encode( array( array("choice" => "wpbm-homepage" ,"subtitle" => "fa-home", "title" => "Home", "id" => "customizer_repeater_1" ), array("choice" => "wpbm-woo-account" ,"subtitle" => "fa-user", "title" => "Account", "id" => "customizer_repeater_2" ), array("choice" => "wpbm-woo-cart" ,"subtitle" => "fa-shopping-cart", "title" => "Cart", "id" => "customizer_repeater_3" ), array("choice" => "wpbm-woo-search" ,"subtitle" => "fa-search", "title" => "Search", "id" => "customizer_repeater_4" ), )) )); $wp_customize->add_control( new Customizer_Repeater( $wp_customize, 'customizer_repeater_wpbm', array( 'label' => esc_html__('Menu Item','customizer-repeater'), 'section' => 'wpbottommenu_section_menuitems', 'customizer_repeater_title_control' => true, 'customizer_repeater_link_control' => true, 'customizer_repeater_text_control' => true, 'customizer_repeater_subtitle_control' => true, ))); $wp_customize->add_setting( 'wpbottommenu_howuseicon' , array( 'type' => 'option', )); $wp_customize->add_control( 'wpbottommenu_howuseicon', array( 'label' => __( 'How to use Icons?', 'wp-bottom-menu' ), 'description' => sprintf( __( 'For FontAwesome: Add the names from (%1$s) to the "Icon" field.
Example:fa-home
For FontAwesome v6: Add the names from (%3$s) to the "Icon" field.
Example:fa-solid fa-house
For SVG Icons: simply paste your SVG code in the "Icon" field. SVG Icon Library: %2$s
Enable to use SVG Settings > Select Icon Type > Custom SVG ', 'wp-bottom-menu' ), sprintf( '%s', esc_html__( 'FontAwesome', 'wp-bottom-menu' ) ), sprintf( '%s', esc_html__( 'Remix Icon', 'wp-bottom-menu' ) ), sprintf( '%s', esc_html__( 'FontAwesome v6', 'wp-bottom-menu' ) ) ), 'section' => 'wpbottommenu_section_menuitems', 'settings' => 'wpbottommenu_howuseicon', 'type' => 'hidden', )); } /** * Render styles * * @since 1.0.0 * */ public static function wpbottommenu_customize_css(){ // check condition $condition = new \WPBottomMenu_Condition(); if ( !$condition->get_condition() ){ return; } ?> $type, 'posts_per_page' => -1, ) ); $options = []; foreach ( $posts as $post ) { $options[ $post->ID ] = $post->post_title; } return $options; } } WPBottomMenu_Customizer::init();