60, 'width' => 200, 'flex-width' => true, 'flex-height' => true, ]); add_theme_support('html5', ['search-form', 'comment-form', 'gallery', 'caption']); add_theme_support('automatic-feed-links'); add_theme_support('align-wide'); add_theme_support('responsive-embeds'); add_theme_support('wp-block-styles'); register_nav_menus(['primary' => __('Primary Menu', 'appybix')]); } add_action('after_setup_theme', 'appybix_setup'); // ---------------------------- // Enqueue Styles & Scripts // ---------------------------- function appybix_scripts() { wp_enqueue_style('appybix-google-fonts', 'https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap', [], null); wp_enqueue_style('appybix-style', get_stylesheet_uri(), [], wp_get_theme()->get('Version')); wp_enqueue_script('jquery'); wp_enqueue_script('appybix-main', get_template_directory_uri().'/assets/js/main.js', ['jquery'], null, true); // Dynamic Theme Color $theme_color = esc_attr(get_theme_mod('theme_color', '#16a34a')); $custom_css = " h1,h2,h3,.btn-get-apk{background:{$theme_color};color:#fff;padding:0.3rem 0.6rem;border-radius:6px;} .btn-get-apk{display:inline-block;text-decoration:none;} "; wp_add_inline_style('appybix-style', $custom_css); } add_action('wp_enqueue_scripts', 'appybix_scripts'); // ---------------------------- // Widgets // ---------------------------- function appybix_widgets_init() { register_sidebar([ 'name' => __('Sidebar','appybix'), 'id' => 'sidebar-1', 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ]); for ($i = 1; $i <= 4; $i++) { register_sidebar([ 'name' => sprintf(__('Footer %d', 'appybix'), $i), 'id' => 'footer-' . $i, 'before_widget' => '', 'before_title' => '', ]); } } add_action('widgets_init','appybix_widgets_init'); // ---------------------------- // Customizer // ---------------------------- function appybix_customize_register($wp_customize){ // Logo $wp_customize->add_setting('appybix_logo', [ 'default'=>'', 'transport'=>'refresh', 'sanitize_callback'=>'esc_url_raw' ]); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize,'appybix_logo_control',[ 'label'=>'Upload Logo', 'section'=>'title_tagline', 'settings'=>'appybix_logo' ])); // Show Site Title with Logo $wp_customize->add_setting('appybix_show_site_title',[ 'default'=>true, 'transport'=>'refresh', 'sanitize_callback'=>'wp_validate_boolean' ]); $wp_customize->add_control('appybix_show_site_title_control',[ 'label'=>'Show Site Title beside Logo', 'section'=>'title_tagline', 'type'=>'checkbox', 'settings'=>'appybix_show_site_title' ]); // Theme Color $wp_customize->add_setting('theme_color',[ 'default'=>'#16a34a', 'transport'=>'refresh', 'sanitize_callback'=>'sanitize_hex_color' ]); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize,'theme_color_control',[ 'label'=>'Theme Color', 'section'=>'colors', 'settings'=>'theme_color' ])); // Homepage Layout $wp_customize->add_setting('homepage_layout',[ 'default'=>'default', 'sanitize_callback'=>'sanitize_text_field' ]); $wp_customize->add_control('homepage_layout_control',[ 'label'=>'Homepage Layout', 'section'=>'static_front_page', 'type'=>'select', 'choices'=>['default'=>'Default','grid'=>'Grid View','list'=>'List View'] ]); // Featured posts $wp_customize->add_setting('show_featured_posts',[ 'default'=>'yes', 'sanitize_callback'=>'sanitize_text_field' ]); $wp_customize->add_control('show_featured_posts_control',[ 'label'=>'Show Featured Posts?', 'section'=>'static_front_page', 'type'=>'select', 'choices'=>['yes'=>'Yes','no'=>'No'] ]); // Items per page $wp_customize->add_setting('items_per_page',[ 'default'=>10, 'sanitize_callback'=>'absint' ]); $wp_customize->add_control('items_per_page_control',[ 'label'=>'Items Per Page', 'section'=>'static_front_page', 'type'=>'number', 'input_attrs'=>['min'=>1,'max'=>100] ]); // Display Settings: select homepage post/page $wp_customize->add_section('appybix_display_settings',['title'=>'Display Settings','priority'=>130]); $choices=[0=>'— Select —']; $all_posts=get_posts(['post_type'=>['post','page'],'numberposts'=>-1]); foreach($all_posts as $p) $choices[$p->ID]=$p->post_title; $wp_customize->add_setting('appybix_home_display_post',[ 'default'=>0, 'transport'=>'refresh', 'sanitize_callback'=>'absint' ]); $wp_customize->add_control('appybix_home_display_post_control',[ 'label'=>'Show Full Post/Page on Homepage', 'section'=>'appybix_display_settings', 'type'=>'select', 'choices'=>$choices, 'description'=>'Select any post or page to display its full content on the homepage.' ]); } add_action('customize_register','appybix_customize_register'); // ---------------------------- // Display selected post/page on homepage // ---------------------------- function appybix_homepage_content($query){ if($query->is_main_query() && (is_home()||is_front_page())){ remove_action('loop_start','appybix_homepage_content'); $selected_id=get_theme_mod('appybix_home_display_post',0); if($selected_id){ $post_obj=get_post($selected_id); if($post_obj){ setup_postdata($post_obj); echo '
'; echo '

'.esc_html(get_the_title($post_obj)).'

'; echo '
'.apply_filters('the_content',$post_obj->post_content).'
'; echo '
'; wp_reset_postdata(); $query->posts=[]; $query->post_count=0; } } } } add_action('loop_start','appybix_homepage_content'); // ---------------------------- // Excerpt length // ---------------------------- function appybix_excerpt_length($length){return 1000;} add_filter('excerpt_length','appybix_excerpt_length');