// دعم إضافي لـ Elementor function nammariq_elementor_widgets_support() { // تسجيل مناطق Elementor if (function_exists('elementor_theme_do_location')) { add_action('get_header', 'nammariq_elementor_header'); add_action('get_footer', 'nammariq_elementor_footer'); } } add_action('init', 'nammariq_elementor_widgets_support'); // دعم Elementor Header function nammariq_elementor_header() { if (function_exists('elementor_theme_do_location') && elementor_theme_do_location('header')) { remove_action('wp_head', '_wp_render_title_tag', 1); } } // دعم Elementor Footer function nammariq_elementor_footer() { if (function_exists('elementor_theme_do_location') && elementor_theme_do_location('footer')) { return; } } // إضافة دعم Elementor Canvas function nammariq_elementor_canvas_support() { if (class_exists('\Elementor\Plugin')) { add_filter('body_class', function($classes) { if (\Elementor\Plugin::$instance->preview->is_preview_mode()) { $classes[] = 'elementor-preview'; } return $classes; }); } } add_action('wp_body_open', 'nammariq_elementor_canvas_support'); // تحسين أداء Elementor function nammariq_elementor_performance() { // تحسين تحميل الخطوط add_filter('elementor/frontend/print_google_fonts', '__return_false'); // تحسين تحميل الأيقونات add_action('elementor/frontend/after_enqueue_styles', function() { wp_dequeue_style('elementor-icons-fa-solid'); wp_dequeue_style('elementor-icons-fa-regular'); wp_dequeue_style('elementor-icons-fa-brands'); }); } add_action('wp_enqueue_scripts', 'nammariq_elementor_performance', 20); // إضافة ودجت مخصص لعرض المنتجات في Elementor function nammariq_register_elementor_widgets() { if (class_exists('\Elementor\Widget_Base')) { require_once get_template_directory() . '/elementor-widgets/products-widget.php'; \Elementor\Plugin::instance()->widgets_manager->register_widget_type(new \Nammariq_Products_Widget()); } } add_action('elementor/widgets/widgets_registered', 'nammariq_register_elementor_widgets'); // إنشاء مجلد ودجات Elementor function nammariq_create_elementor_widgets_folder() { $widgets_dir = get_template_directory() . '/elementor-widgets'; if (!file_exists($widgets_dir)) { wp_mkdir_p($widgets_dir); } } add_action('after_setup_theme', 'nammariq_create_elementor_widgets_folder'); // دعم البحث السريع AJAX function nammariq_quick_search() { check_ajax_referer('nammariq_nonce', 'nonce'); $query = sanitize_text_field($_POST['query']); $search_query = new WP_Query(array( 's' => $query, 'post_type' => array('post', 'product'), 'posts_per_page' => 5, )); if ($search_query->have_posts()) { echo '
'; while ($search_query->have_posts()) { $search_query->the_post(); echo '
'; echo ''; echo '

' . get_the_title() . '

'; echo '

' . wp_trim_words(get_the_excerpt(), 15) . '

'; echo '
'; echo '
'; } echo '
'; } else { echo '
لا توجد نتائج للبحث
'; } wp_reset_postdata(); wp_die(); } add_action('wp_ajax_quick_search', 'nammariq_quick_search'); add_action('wp_ajax_nopriv_quick_search', 'nammariq_quick_search'); // تحسين SEO function nammariq_seo_optimization() { // إضافة meta tags add_action('wp_head', function() { if (is_home() || is_front_page()) { echo ''; echo ''; } echo ''; echo ''; echo ''; if (is_single() || is_page()) { echo ''; echo ''; echo ''; echo ''; if (has_post_thumbnail()) { echo ''; } } }); } add_action('init', 'nammariq_seo_optimization'); // إضافة Schema Markup للمنتجات function nammariq_product_schema() { if (is_singular('product')) { global $post; $price = get_post_meta($post->ID, '_product_price', true); $rating = get_post_meta($post->ID, '_product_rating', true); $schema = array( '@context' => 'https://schema.org/', '@type' => 'Product', 'name' => get_the_title(), 'description' => wp_trim_words(get_the_content(), 50), 'url' => get_permalink(), ); if (has_post_thumbnail()) { $schema['image'] = get_the_post_thumbnail_url($post->ID, 'large'); } if ($price) { $schema['offers'] = array( '@type' => 'Offer', 'price' => $price, 'priceCurrency' => 'EGP', 'availability' => 'https://schema.org/InStock', ); } if ($rating) { $schema['aggregateRating'] = array( '@type' => 'AggregateRating', 'ratingValue' => $rating, 'bestRating' => '5', 'worstRating' => '1', 'ratingCount' => '1', ); } echo ''; } } add_action('wp_head', 'nammariq_product_schema'); // تحسين الأمان function nammariq_security_enhancements() { // إخفاء إصدار ووردبريس remove_action('wp_head', 'wp_generator'); // إزالة RSD link remove_action('wp_head', 'rsd_link'); // إزالة wlwmanifest link remove_action('wp_head', 'wlwmanifest_link'); // تعطيل XML-RPC add_filter('xmlrpc_enabled', '__return_false'); // إخفاء أخطاء تسجيل الدخول add_filter('login_errors', function() { return 'معلومات تسجيل الدخول غير صحيحة.'; }); } add_action('init', 'nammariq_security_enhancements'); // تحسين الأداء function nammariq_performance_optimization() { // تعطيل emojis remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); // تحسين تحميل jQuery if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js', false, '3.6.0', true); wp_enqueue_script('jquery'); } // ضغط HTML if (!is_admin()) { ob_start(function($buffer) { return preg_replace('/\s+/', ' ', $buffer); }); } } add_action('init', 'nammariq_performance_optimization'); // إضافة خيارات التخصيص function nammariq_customizer_options($wp_customize) { // قسم الألوان $wp_customize->add_section('nammariq_colors', array( 'title' => __('ألوان القالب', 'nammariq'), 'priority' => 30, )); // اللون الأساسي $wp_customize->add_setting('primary_color', array( 'default' => '#2196F3', 'sanitize_callback' => 'sanitize_hex_color', )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'primary_color', array( 'label' => __('اللون الأساسي', 'nammariq'), 'section' => 'nammariq_colors', ))); // اللون الثانوي $wp_customize->add_setting('secondary_color', array( 'default' => '#00BCD4', 'sanitize_callback' => 'sanitize_hex_color', )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'secondary_color', array( 'label' => __('اللون الثانوي', 'nammariq'), 'section' => 'nammariq_colors', ))); // قسم معلومات التواصل $wp_customize->add_section('nammariq_contact', array( 'title' => __('معلومات التواصل', 'nammariq'), 'priority' => 35, )); // رقم الهاتف $wp_customize->add_setting('phone_number', array( 'default' => '01021321473', 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control('phone_number', array( 'label' => __('رقم الهاتف', 'nammariq'), 'section' => 'nammariq_contact', 'type' => 'text', )); // البريد الإلكتروني $wp_customize->add_setting('email_address', array( 'default' => 'namariq.tex@gmail.com', 'sanitize_callback' => 'sanitize_email', )); $wp_customize->add_control('email_address', array( 'label' => __('البريد الإلكتروني', 'nammariq'), 'section' => 'nammariq_contact', 'type' => 'email', )); } add_action('customize_register', 'nammariq_customizer_options'); // تطبيق الألوان المخصصة function nammariq_custom_colors() { $primary_color = get_theme_mod('primary_color', '#2196F3'); $secondary_color = get_theme_mod('secondary_color', '#00BCD4'); echo ''; } add_action('wp_head', 'nammariq_custom_colors'); XML-RPC server accepts POST requests only.