// دعم إضافي لـ 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 '
';
} 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.