/* * Created by Artureanec */ # General add_theme_support('title-tag'); add_theme_support('automatic-feed-links'); add_theme_support('post-formats', array('image', 'video', 'gallery', 'quote')); add_theme_support('html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) ); if( !isset( $content_width ) ) $content_width = 1340; # ADD Localization Folder add_action('after_setup_theme', 'neuros_pomo'); if (!function_exists('neuros_pomo')) { function neuros_pomo() { load_theme_textdomain('neuros', get_template_directory() . '/languages'); } } require_once(get_template_directory() . '/core/helper-functions.php'); require_once(get_template_directory() . '/core/layout-functions.php'); require_once(get_template_directory() . '/core/init.php'); # Register CSS/JS add_action('wp_enqueue_scripts', 'neuros_css_js'); if (!function_exists('neuros_css_js')) { function neuros_css_js() { # CSS wp_enqueue_style('neuros-theme', get_template_directory_uri() . '/css/theme.css', array(), wp_get_theme()->get('Version')); wp_style_add_data('neuros-theme', 'rtl', 'replace'); if (class_exists('WooCommerce')) { wp_enqueue_style('neuros-woocommerce', get_template_directory_uri() . '/css/woocommerce.css', array(), wp_get_theme()->get('Version')); wp_style_add_data('neuros-woocommerce', 'rtl', 'replace'); wp_enqueue_style('neuros-style', get_template_directory_uri() . '/style.css', array('neuros-theme', 'neuros-woocommerce'), wp_get_theme()->get('Version') ); } else { wp_enqueue_style('neuros-style', get_template_directory_uri() . '/style.css', array('neuros-theme'), wp_get_theme()->get('Version') ); } # JS wp_enqueue_script('jquery-cookie', get_template_directory_uri() . '/js/jquery.cookie.min.js', array('jquery'), false, true); wp_enqueue_script('tilt', get_template_directory_uri() . '/js/tilt.jquery.min.js', array('jquery'), false, true); wp_enqueue_script('owl-carousel', get_template_directory_uri() . '/js/owl.carousel.min.js', true, false, true); wp_enqueue_script('isotope', get_template_directory_uri() . '/js/isotope.min.js', array(), false, true ); wp_register_script('neuros-theme', get_template_directory_uri() . '/js/theme.js', array('jquery', 'isotope', 'tilt'), false, true); wp_localize_script( 'neuros-theme', 'ajax_params', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script('neuros-theme'); if (is_singular() && comments_open()) { wp_enqueue_script('comment-reply'); } wp_localize_script('neuros-theme', 'neuros_ajaxurl', array( 'url' => esc_url(admin_url('admin-ajax.php')) ) ); $localize_theme = array(); $localize_theme['rtl'] = (bool)is_rtl(); wp_localize_script('neuros-theme', 'theme', $localize_theme ); # Colors require_once(get_template_directory() . "/css/custom/custom.php"); global $neuros_custom_css; wp_add_inline_style('neuros-theme', $neuros_custom_css); } } # Register CSS/JS for Admin Settings add_action('admin_enqueue_scripts', 'neuros_admin_css_js'); if (!function_exists('neuros_admin_css_js')) { function neuros_admin_css_js() { # CSS wp_enqueue_style('neuros-admin', get_template_directory_uri() . '/css/admin.css'); # JS wp_enqueue_script('neuros-admin', get_template_directory_uri() . '/js/admin.js', array('jquery', 'jquery-ui-core', 'jquery-ui-sortable'), false, true); } } # Register Google Fonts add_action('wp_enqueue_scripts', 'neuros_register_theme_fonts'); if (!function_exists('neuros_register_theme_fonts')) { function neuros_register_theme_fonts() { $fonts_list = array('header_menu_font', 'header_sub_menu_font', 'page_title_heading_font', 'page_title_breadcrumbs_font', 'page_title_additional_text_font', 'main_font', 'additional_font', 'headings_font', 'buttons_font'); $font_control_list = get_theme_mod('current_fonts', $fonts_list); $current_fonts_array = array(); $families = array(); $result = array(); foreach ( $font_control_list as $control ) { $values = neuros_get_theme_mod($control); $values = json_decode($values, true); if ( isset($values['font_family']) && !empty($values['font_family']) ) { $current_font = array(); $current_font['font_family'] = $values['font_family']; $current_font['font_styles'] = $values['font_styles']; $current_font['font_subset'] = $values['font_subset']; $current_fonts_array[$control] = $current_font; } } if ( !empty($current_fonts_array) && is_array($current_fonts_array) ) { foreach ( $current_fonts_array as $item ) { if ( !in_array($item['font_family'], $families) ) { $families[] = $item['font_family']; } } foreach ( $families as $variant ) { foreach ( $current_fonts_array as $key => $item ) { if ( $variant == $item['font_family'] ) { $result[$variant]['font_styles'] = empty($result[$variant]['font_styles']) ? $item['font_styles'] : $result[$variant]['font_styles'] . ',' . $item['font_styles']; $result[$variant]['font_subset'] = empty($result[$variant]['font_subset']) ? $item['font_subset'] : $result[$variant]['font_subset'] . ',' . $item['font_subset']; } } } foreach ( $result as $key => $value ) { $styles = array_unique(explode(',', $result[$key]['font_styles'])); asort($styles, SORT_NUMERIC ); $subset = array_unique(explode(',', $result[$key]['font_subset'])); asort($subset, SORT_NUMERIC ); $result[$key]['font_styles'] = implode( ',', $styles ); $result[$key]['font_subset'] = implode( ',', $subset ); } if ( !empty($result) && is_array($result) ) { $fonts = array(); foreach ( $result as $font_name => $font_params ) { // exclude local fonts if ( $font_name != 'Manrope Alt' ) { $fonts[] = $font_name . ':' . $font_params['font_styles'] . '&subset=' . $font_params['font_subset']; } } $fonts_url = '//fonts.googleapis.com/css?family=' . urlencode( implode('|', $fonts) ); wp_enqueue_style('neuros-fonts', $fonts_url); } } } } add_action('pre_get_posts', 'neuros_archive_custom_query'); if (!function_exists('neuros_archive_custom_query')) { function neuros_archive_custom_query($query) { if ( ! is_admin() && $query->is_main_query() ) { if(is_post_type_archive('neuros_case_study')) { $posts_per_page = neuros_get_theme_mod('case_studies_archive_posts_per_page'); } elseif(is_post_type_archive('neuros_portfolio')) { $posts_per_page = neuros_get_theme_mod('portfolio_archive_posts_per_page'); } elseif(is_post_type_archive('neuros_project')) { $posts_per_page = neuros_get_theme_mod('project_archive_posts_per_page'); } elseif(is_post_type_archive('neuros_service')) { $posts_per_page = neuros_get_theme_mod('service_archive_posts_per_page'); } elseif(is_post_type_archive('neuros_team')) { $posts_per_page = neuros_get_theme_mod('team_archive_posts_per_page'); } elseif(is_post_type_archive('neuros_vacancy')) { $posts_per_page = neuros_get_theme_mod('vacancy_archive_posts_per_page'); } if(isset($posts_per_page)) { $query->set('posts_per_page', $posts_per_page); } } } } # WP Footer add_action('wp_footer', 'neuros_wp_footer'); if (!function_exists('neuros_wp_footer')) { function neuros_wp_footer() { Neuros_Helper::getInstance()->echoFooter(); } } # Register Menu add_action('init', 'neuros_register_menu'); if (!function_exists('neuros_register_menu')) { function neuros_register_menu() { register_nav_menus( [ 'main' => esc_html__('Main menu', 'neuros'), 'footer_menu' => esc_html__('Footer Menu', 'neuros'), 'footer_add_menu' => esc_html__('Footer Additional Menu', 'neuros') ] ); } } # Register Sidebars add_action('widgets_init', 'neuros_widgets_init'); if (!function_exists('neuros_widgets_init')) { function neuros_widgets_init() { register_sidebar( array( 'name' => esc_html__('Page Sidebar', 'neuros'), 'id' => 'sidebar', 'description' => esc_html__('Widgets in this area will be shown on all pages.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Post Sidebar', 'neuros'), 'id' => 'sidebar-post', 'description' => esc_html__('Widgets in this area will be shown on all posts.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Career Sidebar', 'neuros'), 'id' => 'sidebar-vacancy', 'description' => esc_html__('Widgets in this area will be shown on all career pages.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Service Sidebar', 'neuros'), 'id' => 'sidebar-service', 'description' => esc_html__('Widgets in this area will be shown on all service pages.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Archive Sidebar', 'neuros'), 'id' => 'sidebar-archive', 'description' => esc_html__('Widgets in this area will be shown on all posts and archive pages.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('FAQ Sidebar', 'neuros'), 'id' => 'sidebar-faq', 'description' => esc_html__('Widgets in this area will be shown on FAQ page.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Side Panel Sidebar', 'neuros'), 'id' => 'sidebar-side', 'description' => esc_html__('Widgets in this area will be shown on side panel.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => esc_html__('Footer Sidebar (Style 1)', 'neuros'), 'id' => 'sidebar-footer-style1', 'description' => esc_html__('Widgets in this area will be shown on footer area.', 'neuros'), 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__('Footer Sidebar (Style 2)', 'neuros'), 'id' => 'sidebar-footer-style2', 'description' => esc_html__('Widgets in this area will be shown on footer area.', 'neuros'), 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__('Footer Sidebar (Style 3)', 'neuros'), 'id' => 'sidebar-footer-style3', 'description' => esc_html__('Widgets in this area will be shown on footer area.', 'neuros'), 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__('Footer Sidebar (Style 4)', 'neuros'), 'id' => 'sidebar-footer-style4', 'description' => esc_html__('Widgets in this area will be shown on footer area.', 'neuros'), 'before_widget' => '', 'before_title' => '', ) ); register_sidebar( array( 'name' => esc_html__('Footer Sidebar (Style 5)', 'neuros'), 'id' => 'sidebar-footer-style5', 'description' => esc_html__('Widgets in this area will be shown on footer area.', 'neuros'), 'before_widget' => '', 'before_title' => '', ) ); if (class_exists('WooCommerce')) { register_sidebar( array( 'name' => esc_html__('Sidebar WooCommerce', 'neuros'), 'id' => 'sidebar-woocommerce', 'description' => esc_html__('Widgets in this area will be shown on Woocommerce Pages.', 'neuros'), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '
', 'after_title' => '
', ) ); } } } // Init Custom Widgets if ( function_exists('neuros_add_custom_widget') ) { neuros_add_custom_widget('Neuros_Nav_Menu_Widget'); neuros_add_custom_widget('Neuros_Special_Text_Widget'); } // Init Elementor for Custom Post Types if (!function_exists('neuros_init_elementor_for_team_post_type')) { function neuros_init_elementor_for_team_post_type() { add_post_type_support('neuros-team', 'elementor'); } } add_action('init', 'neuros_init_elementor_for_team_post_type'); if (!function_exists('neuros_init_elementor_for_portfolio_post_type')) { function neuros_init_elementor_for_portfolio_post_type() { add_post_type_support('neuros-portfolio', 'elementor'); } } add_action('init', 'neuros_init_elementor_for_portfolio_post_type'); //Custom Animation for Elementor if (!function_exists('neuros_elementor_custom_animation')) { function neuros_elementor_custom_animation() { return array( 'Neuros Animation' => [ 'neuros_heading_animation' => 'Heading Animation', 'neuros_clip_down' => 'Clip Down', 'neuros_clip_up' => 'Clip Up', 'neuros_clip_right' => 'Clip Right', 'neuros_clip_left' => 'Clip Left', ] ); } } add_filter( 'elementor/controls/animations/additional_animations', 'neuros_elementor_custom_animation' ); # WooCommerce if (class_exists('WooCommerce')) { require_once( get_template_directory() . '/woocommerce/wooinit.php'); } // Remove standard WP gallery styles add_filter( 'use_default_gallery_style', '__return_false' ); // Register custom image sizes if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 1340, 638, true ); } if ( function_exists( 'add_image_size' ) ) { add_image_size( 'neuros_post_thumbnail_mobile', 575, 274, array('center', 'center') ); add_image_size( 'neuros_post_thumbnail_tablet', 991, 472, array('center', 'center') ); add_image_size( 'neuros_post_grid_2_columns', 960, 718, array('center', 'center') ); add_image_size( 'neuros_post_grid_3_columns', 640, 478, array('center', 'center') ); add_image_size( 'neuros_post_grid_4_columns', 500, 374, array('center', 'center') ); add_image_size( 'neuros_post_grid_5_columns', 384, 287, array('center', 'center') ); add_image_size( 'neuros_post_grid_6_columns', 320, 239, array('center', 'center') ); add_image_size( 'neuros_portfolio_thumbnail', 835, 653, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_1_columns', 1340, 1340, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_2_columns', 960, 960, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_3_columns', 640, 640, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_4_columns', 500, 500, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_5_columns', 384, 384, array('center', 'center') ); add_image_size( 'neuros_portfolio_grid_6_columns', 320, 320, array('center', 'center') ); add_image_size( 'neuros_project_modern_1_columns', 1340, 689, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_1_columns', 1920, 1920, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_2_columns', 960, 960, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_3_columns', 640, 640, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_4_columns', 500, 500, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_5_columns', 384, 384, array('center', 'center') ); add_image_size( 'neuros_portfolio_masonry_6_columns', 320, 320, array('center', 'center') ); add_image_size( 'neuros_team_thumbnail', 535, 551, array('right', 'center') ); } //Remove 1536x1536 and 2048x2048 image sizes if (!function_exists('neuros_remove_image_sizes')) { function neuros_remove_image_sizes() { remove_image_size('1536x1536'); remove_image_size('2048x2048'); } } add_action('init', 'neuros_remove_image_sizes'); // Media Upload if (!function_exists('neuros_enqueue_media')) { function neuros_enqueue_media() { wp_enqueue_media(); } } add_action( 'admin_enqueue_scripts', 'neuros_enqueue_media' ); // Responsive video add_filter('embed_oembed_html', 'neuros_wrap_oembed_video', 99, 4); if (!function_exists('neuros_wrap_oembed_video')) { function neuros_wrap_oembed_video($html, $url, $attr, $post_id) { return '
' . $html . '
'; } } // Custom Search form add_filter('get_search_form', 'neuros_get_search_form', 10, 2); if ( !function_exists('neuros_get_search_form') ) { function neuros_get_search_form($form, $args) { $search_rand = mt_rand(0, 999); $search_js = 'javascript:document.getElementById("search-' . esc_js($search_rand) . '").submit();'; $placeholder = ( $args['aria_label'] == 'global' ? esc_attr__('Type Your Search...', 'neuros') : esc_attr__('Search...', 'neuros') ); $form = '
'; $form .= ''; $form .= ''; $form .= '
'; return $form; } } // Customize WP Categories Widget add_filter('wp_list_categories', 'neuros_customize_categories_widget', 10, 2); if ( !function_exists('neuros_customize_categories_widget') ) { function neuros_customize_categories_widget($output, $args) { $args['use_desc_for_title'] = false; if ( $args['hierarchical'] ) { $output = str_replace('"cat-item', '"cat-item cat-item-hierarchical', $output); } return $output; } } // Add Buttons to Tiny MCE text editor add_action( 'init', 'neuros_tiny_mce_background_color' ); if ( !function_exists('neuros_tiny_mce_background_color') ) { function neuros_tiny_mce_background_color() { add_filter('mce_buttons_2', 'neuros_tiny_mce_background_color_button', 999, 1); } } if ( !function_exists('neuros_tiny_mce_background_color_button') ) { function neuros_tiny_mce_background_color_button($buttons) { array_unshift($buttons, 'fontsizeselect'); array_splice($buttons, 4, 0, 'backcolor'); return $buttons; } } if ( !function_exists('neuros_tinymce_fontsize') ) { function neuros_tinymce_fontsize($sizes) { $sizes['fontsize_formats'] = "10px 14px 16px 20px 24px 28px 32px 36px 40px 46px 50px"; return $sizes; } } add_filter('tiny_mce_before_init', 'neuros_tinymce_fontsize'); // Customize Comment fields add_filter('comment_form_defaults', 'neuros_customize_comment_fields'); if ( !function_exists('neuros_customize_comment_fields') ) { function neuros_customize_comment_fields($args) { $format = current_theme_supports('html5', 'comment-form') ? 'html5' : 'xhtml'; $commenter = wp_get_current_commenter(); $req = get_option( 'require_name_email' ); $html5 = 'html5' === $format; $html_req = ( $html5 ? ' required' : ' required="required"' ); $html_consent = ( $html5 ? ' checked' : ' checked="checked"' ); $consent = empty( $commenter['comment_author_email'] ) ? '' : esc_attr($html_consent); $comment_form_args = array( 'title_reply' => esc_html__('Leave a Comment', 'neuros'), 'cancel_reply_link' => esc_html__('(Cancel reply)', 'neuros'), 'title_reply_to' => esc_html__('Leave a Reply to %s', 'neuros'), 'title_reply_before' => '

', 'title_reply_after' => '

', 'fields' => array( 'author' => sprintf('
', ( $req ? $html_req : '' )), 'email' => sprintf('
', ( $req ? $html_req : '' )), 'cookies' => '
', ), 'comment_field' => '
', 'label_submit' => esc_html__('Send a message', 'neuros'), 'logged_in_as' => '

' . esc_html__('Logged in as ', 'neuros') . '' . esc_html(wp_get_current_user()->display_name) . '. ' . '' . esc_html__('Log out?', 'neuros') . '' . '

', 'submit_button' => '', 'submit_field' => '%1$s %2$s', 'format' => $format ); return $comment_form_args; } } // Move Comment Message field in Comment form add_filter( 'comment_form_fields', 'neuros_move_comment_fields' ); if ( !function_exists('neuros_move_comment_fields') ) { function neuros_move_comment_fields($fields) { if ( !function_exists('is_product') || !is_product() ) { $comment_field = $fields['comment']; $cookies_field = $fields['cookies']; unset($fields['comment']); unset($fields['cookies']); $fields['comment'] = $comment_field; $fields['cookies'] = $cookies_field; } return $fields; } } // WPForms Plugin Dropdown Menu Fix if ( function_exists( 'wpforms') ) { add_action( 'wpforms_display_field_select', 'neuros_wpform_start_select_wrapper', 5, 1 ); if ( !function_exists('neuros_wpform_start_select_wrapper') ) { function neuros_wpform_start_select_wrapper($field) { echo '
'; } } add_action( 'wpforms_display_field_select', 'neuros_wpform_finish_select_wrapper', 15 ); if ( !function_exists('neuros_wpform_finish_select_wrapper') ) { function neuros_wpform_finish_select_wrapper() { echo '
'; } } } // Custom Password Form add_filter( 'the_password_form', 'neuros_password_form' ); if ( !function_exists('neuros_password_form') ) { function neuros_password_form() { global $post; $out = '

' . esc_html__('This content is password protected. To view it please enter your password below:', 'neuros') . '

'; return $out; } } // Set Elementor Features Default Values add_action( 'elementor/experiments/feature-registered', 'neuros_elementor_features_set_default', 10, 2 ); if ( !function_exists('neuros_elementor_features_set_default') ) { function neuros_elementor_features_set_default( Elementor\Core\Experiments\Manager $experiments_manager ) { $experiments_manager->set_feature_default_state('e_dom_optimization', 'inactive'); } } // Set custom palette in customizer colorpicker add_action( 'customize_controls_enqueue_scripts', 'neuros_custom_color_palette' ); if ( !function_exists('neuros_custom_color_palette') ) { function neuros_custom_color_palette() { $color_palettes = json_encode(neuros_get_custom_color_palette()); wp_add_inline_script('wp-color-picker', 'jQuery.wp.wpColorPicker.prototype.options.palettes = ' . sprintf('%s', $color_palettes) . ';'); } } // Filter for widgets add_filter( 'dynamic_sidebar_params', 'neuros_dynamic_sidebar_params' ); if (!function_exists('neuros_dynamic_sidebar_params')) { function neuros_dynamic_sidebar_params($sidebar_params) { if (is_admin()) { return $sidebar_params; } global $wp_registered_widgets; $widget_id = $sidebar_params[0]['widget_id']; $wp_registered_widgets[$widget_id]['original_callback'] = $wp_registered_widgets[$widget_id]['callback']; $wp_registered_widgets[$widget_id]['callback'] = 'neuros_widget_callback_function'; return $sidebar_params; } } add_filter( 'widget_output', 'neuros_output_filter', 10, 3 ); if (!function_exists('neuros_output_filter')) { function neuros_output_filter($widget_output, $widget_id_base, $widget_id) { if ($widget_id_base != 'woocommerce_product_categories' && $widget_id_base != 'wpforms-widget' && $widget_id_base != 'block') { $widget_output = str_replace('', '', $widget_output); } return $widget_output; } } // Admin Footer add_filter('admin_footer', 'neuros_admin_footer'); if (!function_exists('neuros_admin_footer')) { function neuros_admin_footer() { if (strlen(get_page_template_slug())>0) { echo ""; } } } // Remove post format parameter add_filter('preview_post_link', 'neuros_remove_post_format_parameter', 9999); if (!function_exists('neuros_remove_post_format_parameter')) { function neuros_remove_post_format_parameter($url) { $url = remove_query_arg('post_format', $url); return $url; } } // Post excerpt customize add_filter( 'excerpt_length', function() { return 41; } ); add_filter( 'excerpt_more', function(){ return '...'; } ); // Wrap pagination links add_filter( 'paginate_links_output', 'neuros_wrap_pagination_links', 10, 2 ); if ( !function_exists('neuros_wrap_pagination_links') ) { function neuros_wrap_pagination_links($template, $args) { if(class_exists('WooCommerce') && (is_shop() || is_product_category() || is_product_taxonomy() || is_product_tag() || wc_get_loop_prop('is_shortcode'))) { $template = ''; } return $template; } } //Add Ajax Actions add_action('wp_ajax_pagination', 'ajax_pagination'); add_action('wp_ajax_nopriv_pagination', 'ajax_pagination'); //Construct Loop & Results function ajax_pagination() { $query_data = $_POST; $paged = ( isset($query_data['paged']) ) ? intval($query_data['paged']) : 1; $filter_term = ( isset($query_data['filter_term']) ) ? $query_data['filter_term'] : null; $filter_taxonomy = ( isset($query_data['filter_taxonomy']) ) ? $query_data['filter_taxonomy'] : null; $args = ( isset($query_data['args']) ) ? json_decode(stripslashes($query_data['args']), true) : array(); $args = array_merge($args, array( 'paged' => sanitize_key($paged) )); if ( !empty($filter_term) && !empty($filter_taxonomy) && $filter_term != 'all' ) { $args = array_merge($args, array( sanitize_key($filter_taxonomy) => sanitize_key($filter_term) )); } $post_type = isset($args['post_type']) ? $args['post_type'] : 'post'; $widget = ( isset($query_data['widget']) ) ? json_decode(stripslashes($query_data['widget']), true) : array(); $listing_type = isset($widget['listing_type']) ? $widget['listing_type'] : ''; $query = new WP_Query($args); $wrapper_class = isset($query_data['classes']) ? $query_data['classes'] : ''; $id = isset($query_data['id']) ? $query_data['id'] : ''; $link_base = isset($args['link_base']) ? $args['link_base'] : ''; echo '
'; while ($query->have_posts()) { $query->the_post(); get_template_part('content', $post_type, $widget); }; if ( $listing_type == 'masonry') { echo '
'; } wp_reset_postdata(); echo '
'; if(isset($widget['show_pagination']) && $widget['show_pagination'] == 'yes' && $query->max_num_pages > 1) { echo '
'; echo ''; echo '
'; } die(); } // Customize WP-Blocks Output if ( !function_exists('neuros_wpblock_widget_render') ) { function neuros_wpblock_widget_render($block_content, $block) { if ( $block['blockName'] == 'core/file' ) { $block_content = str_replace('', '', $block_content); } if ( $block['blockName'] == 'core/list' ) { $classes = 'wp-block-list'; if(!empty($block['attrs']['fontSize'])) { $classes .= ' has-' . $block['attrs']['fontSize'] . '-font-size'; } if(!empty($block['attrs']['textColor'])) { $classes .= ' has-text-color has-' . $block['attrs']['textColor'] . '-color'; } if(!empty($block['attrs']['backgroundColor'])) { $classes .= ' has-background has-' . $block['attrs']['backgroundColor'] . '-background-color'; } if(!empty($block['attrs']['style']['color']['background'])) { $classes .= ' has-background'; } $block_content = str_replace('', '', $block_content); } if ( $block['blockName'] == 'core/button' ) { if(strpos($block['innerHTML'], 'is-style-outline') === false && strpos($block['innerHTML'], 'is-style-fill') === false) { $block_content = str_replace('', '', $block_content); } } if ( ( $block['blockName'] == 'core/search') || ( $block['blockName'] == 'woocommerce/product-search' ) ) { $block_content = str_replace('', '', $block_content); } if ( ( $block['blockName'] == 'core/search' && isset($block['attrs']['buttonUseIcon']) && $block['attrs']['buttonUseIcon'] === true ) || ( $block['blockName'] == 'woocommerce/product-search' ) ) { $block_content = preg_replace('/)/s', '', $block_content); } if ( $block['blockName'] == 'core/loginout' && isset($block['attrs']['displayLoginAsForm']) && $block['attrs']['displayLoginAsForm'] === true ) { $block_content = str_replace('id="user_login"', 'id="user_login" placeholder="' . esc_html__('Username or Email Address', 'neuros') . '"', $block_content); $block_content = str_replace('id="user_pass"', 'id="user_pass" placeholder="' . esc_html__('Password', 'neuros') . '"', $block_content); $block_content = preg_replace('/