مؤسسة الخيارات الذكيه

شركة تصميم مواقع في الرياض: دليل شامل لاختيار الشريك الرقمي الأمثل 2026

<?php
/**
* ======================================================================
* الكود النهائي – الفورم الجانبي مع محتوى المقال العريض
* ======================================================================
*/

// 1. إنشاء جدول البيانات
function forma_create_table() {
global $wpdb;
$table_name = $wpdb->prefix . ‘forma_submissions’;
$charset_collate = $wpdb->get_charset_collate();

$sql = “CREATE TABLE IF NOT EXISTS $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name varchar(100) NOT NULL,
email varchar(100) NOT NULL,
phone varchar(50) NOT NULL,
service varchar(100) DEFAULT ”,
message text,
page_title varchar(255) DEFAULT ”,
page_url text,
submission_date datetime DEFAULT CURRENT_TIMESTAMP,
status varchar(20) DEFAULT ‘new’,
PRIMARY KEY (id)
) $charset_collate;”;

require_once(ABSPATH . ‘wp-admin/includes/upgrade.php’);
dbDelta($sql);
}
add_action(‘after_switch_theme’, ‘forma_create_table’);

// 2. إضافة قائمة FORM A في الداشبورد
function forma_admin_menu() {
add_menu_page(
‘رسائل FORM A’,
‘FORM A’,
‘manage_options’,
‘forma-submissions’,
‘forma_render_admin_page’,
‘dashicons-email-alt’,
25
);
}
add_action(‘admin_menu’, ‘forma_admin_menu’);

// 3. صفحة عرض الرسائل
function forma_render_admin_page() {
global $wpdb;
$table_name = $wpdb->prefix . ‘forma_submissions’;

if (isset($_GET[‘delete_id’]) && is_numeric($_GET[‘delete_id’])) {
$wpdb->delete($table_name, [‘id’ => intval($_GET[‘delete_id’])]);
echo ‘<div class=”notice notice-success”><p>✅ تم حذف الرسالة بنجاح!</p></div>’;
}

if (isset($_GET[‘mark_read’]) && is_numeric($_GET[‘mark_read’])) {
$wpdb->update($table_name, [‘status’ => ‘read’], [‘id’ => intval($_GET[‘mark_read’])]);
echo ‘<div class=”notice notice-success”><p>📖 تم تحديث الحالة!</p></div>’;
}

$results = $wpdb->get_results(“SELECT * FROM $table_name ORDER BY submission_date DESC”);
?>
<div class=”wrap”>
<h1 class=”wp-heading-inline”>📋 رسائل نموذج FORM A</h1>
<hr>
<div style=”margin: 20px 0;”>
<span style=”background: #2271b1; color: white; padding: 5px 12px; border-radius: 5px; margin-left: 10px;”>📬 الإجمالي: <?php echo count($results); ?></span>
<?php $new_count = $wpdb->get_var(“SELECT COUNT(*) FROM $table_name WHERE status = ‘new'”);
if ($new_count) echo ‘<span style=”background: #dc3232; color: white; padding: 5px 12px; border-radius: 5px;”>🆕 جديد: ‘ . $new_count . ‘</span>’; ?>
</div>
<table class=”wp-list-table widefat fixed striped”>
<thead><tr><th width=”40″>#</th><th>الاسم</th><th>البريد</th><th>الهاتف</th><th>الخدمة</th><th>الرسالة</th><th>المقال</th><th>التاريخ</th><th>الحالة</th><th width=”120″>إجراءات</th></tr></thead>
<tbody><?php if(empty($results)): ?><td><td colspan=”10″ style=”text-align:center;”>📭 لا توجد رسائل</td></tr><?php else: foreach($results as $row): ?>
<tr>
<td><?php echo $row->id; ?></td>
<td><strong><?php echo esc_html($row->name); ?></strong></td>
<td><?php echo esc_html($row->email); ?></td>
<td><?php echo esc_html($row->phone); ?></td>
<td><?php echo esc_html($row->service ?: ‘—’); ?></td>
<td style=”max-width:180px;”><?php echo esc_html(substr($row->message,0,50)); ?></td>
<td><a href=”<?php echo esc_url($row->page_url); ?>” target=”_blank”>عرض</a></td>
<td><?php echo date(‘Y-m-d H:i’, strtotime($row->submission_date)); ?></td>
<td><?php echo $row->status==’new’ ? ‘<span style=”background:#dc3232;color:#fff;padding:2px 6px;border-radius:3px;”>جديد</span>’ : ‘<span style=”background:#46b450;color:#fff;padding:2px 6px;border-radius:3px;”>مقروء</span>’; ?></td>
<td>
<a href=”?page=forma-submissions&mark_read=<?php echo $row->id; ?>” class=”button button-small”>📖</a>
<a href=”?page=forma-submissions&delete_id=<?php echo $row->id; ?>” class=”button button-small” style=”background:#dc3232;color:#fff;” onclick=”return confirm(‘حذف؟’)”>🗑️</a>
</td>
</tr><?php endforeach; endif; ?>
</tbody>
</table>
<form method=”post” style=”margin-top:20px;”><input type=”submit” name=”forma_export_csv” class=”button” value=”📥 تصدير إلى CSV”></form>
</div>
<?php if (isset($_POST[‘forma_export_csv’])) forma_export_csv();
}

function forma_export_csv() {
global $wpdb;
$results = $wpdb->get_results(“SELECT * FROM {$wpdb->prefix}forma_submissions ORDER BY submission_date DESC”, ARRAY_A);
if(!$results) return;
header(‘Content-Type: text/csv; charset=utf-8’);
header(‘Content-Disposition: attachment; filename=forma_’.date(‘Y-m-d’).’.csv’);
$out = fopen(‘php://output’, ‘w’);
fputcsv($out, [‘ID’,’الاسم’,’البريد’,’الهاتف’,’الخدمة’,’الرسالة’,’المقال’,’الرابط’,’التاريخ’,’الحالة’]);
foreach($results as $r) fputcsv($out, $r);
fclose($out);
exit();
}

// 4. معالجة إرسال الفورم
function forma_handle_submission() {
global $wpdb;
$name = sanitize_text_field($_POST[‘name’]);
$email = sanitize_email($_POST[’email’]);
$phone = sanitize_text_field($_POST[‘phone’]);
$service = sanitize_text_field($_POST[‘service’]);
$message = sanitize_textarea_field($_POST[‘message’]);
$page_title = sanitize_text_field($_POST[‘page_title’]);
$page_url = esc_url_raw($_POST[‘page_url’]);

if (empty($name) || empty($email) || empty($phone))
wp_send_json_error([‘message’ => ‘الرجاء تعبئة الاسم والبريد الإلكتروني ورقم الهاتف’]);

$result = $wpdb->insert($wpdb->prefix.’forma_submissions’, [
‘name’ => $name, ’email’ => $email, ‘phone’ => $phone,
‘service’ => $service, ‘message’ => $message,
‘page_title’ => $page_title, ‘page_url’ => $page_url,
‘submission_date’ => current_time(‘mysql’), ‘status’ => ‘new’
]);

if ($result) {
wp_mail(get_option(‘admin_email’), ‘📩 رسالة جديدة من FORM A’,
“الاسم: $name\nالبريد: $email\nالهاتف: $phone\nالخدمة: $service\nالرسالة: $message\nالمقال: $page_url”);
wp_send_json_success([‘message’ => ‘تم الإرسال بنجاح!’]);
} else wp_send_json_error([‘message’ => ‘حدث خطأ، حاول مرة أخرى’]);
}
add_action(‘wp_ajax_forma_submit’, ‘forma_handle_submission’);
add_action(‘wp_ajax_nopriv_forma_submit’, ‘forma_handle_submission’);

// 5. CSS الرئيسي – يخلي المحتوى عريض والجنب ثابت
function forma_add_styles() {
if (!is_single()) return;
?>
<style>
/* إعادة تعيين العرض الكلي للصفحة */
body.single,
body.single-post,
body.single .site,
body.single .site-content,
body.single .content-area,
body.single .site-main {
max-width: 100% !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
overflow-x: hidden !important;
}

/* الحاوية الرئيسية – عرض كامل */
.forma-main-wrapper {
max-width: 1400px;
margin: 0 auto;
padding: 30px 20px;
display: flex;
gap: 40px;
position: relative;
}

/* قسم المحتوى – ياخد كل المساحة المتبقية وعريض */
.forma-content-area {
flex: 1;
min-width: 0;
background: #ffffff;
border-radius: 20px;
padding: 35px;
box-shadow: 0 5px 25px rgba(0,0,0,0.05);
}

/* تنسيق عنوان المقال – مستطيل أسود */
.forma-content-area .entry-title,
.forma-content-area h1.entry-title {
background: #0d0d0d;
color: #ffffff !important;
padding: 20px 30px !important;
border-radius: 16px !important;
text-align: center !important;
margin: 0 0 30px 0 !important;
font-size: 28px !important;
font-weight: 700 !important;
border: 1px solid rgba(212,168,67,0.4);
width: 100% !important;
}

/* محتوى المقال – يبقى عريض وواضح */
.forma-content-area .entry-content {
font-size: 16px;
line-height: 1.9;
color: #333;
}

.forma-content-area .entry-content h2 {
font-size: 26px;
margin: 35px 0 15px;
padding-bottom: 10px;
border-bottom: 3px solid #d4a843;
display: inline-block;
}

.forma-content-area .entry-content h3 {
font-size: 21px;
margin: 25px 0 12px;
color: #0d0d0d;
}

.forma-content-area .entry-content p {
margin-bottom: 20px;
}

.forma-content-area .entry-content ul,
.forma-content-area .entry-content ol {
margin: 15px 0 20px 0;
padding-right: 25px;
}

.forma-content-area .entry-content li {
margin-bottom: 8px;
}

.forma-content-area .entry-content img {
max-width: 100%;
height: auto;
}

/* الفورم الجانبي – ثابت وعريض بدرجة كافية */
.forma-sidebar-area {
width: 350px;
flex-shrink: 0;
position: sticky;
top: 100px;
align-self: flex-start;
}

/* تنسيق الفورم الأسود */
.forma-sidebar-form {
background: linear-gradient(135deg, #0d0d0d 0%, #1a1a1a 100%);
border-radius: 20px;
padding: 25px;
box-shadow: 0 15px 35px rgba(0,0,0,0.3);
border: 1px solid rgba(212,168,67,0.3);
}

.forma-sidebar-header {
text-align: center;
margin-bottom: 20px;
}

.forma-badge {
background: #d4a843;
color: #000;
font-size: 11px;
font-weight: bold;
padding: 4px 12px;
border-radius: 30px;
display: inline-block;
margin-bottom: 12px;
}

.forma-sidebar-header h3 {
font-size: 18px;
font-weight: 800;
color: #fff;
margin: 0 0 8px;
}

.forma-sidebar-header h3 span {
color: #d4a843;
}

.forma-sidebar-header p {
font-size: 12px;
color: #aaa;
margin: 0;
}

.forma-input-group {
margin-bottom: 12px;
}

.forma-input-group input,
.forma-input-group select,
.forma-input-group textarea {
width: 100%;
padding: 12px 14px;
background: #1e1e1e;
border: 1px solid #333;
border-radius: 10px;
color: #fff;
font-family: inherit;
font-size: 13px;
transition: 0.2s;
}

.forma-input-group input:focus,
.forma-input-group select:focus,
.forma-input-group textarea:focus {
outline: none;
border-color: #d4a843;
}

.forma-input-group input::placeholder,
.forma-input-group textarea::placeholder {
color: #666;
}

.forma-sidebar-submit {
width: 100%;
padding: 13px;
background: linear-gradient(135deg, #d4a843 0%, #c49a38 100%);
color: #000;
border: none;
border-radius: 10px;
font-size: 14px;
font-weight: 800;
cursor: pointer;
transition: 0.3s;
margin-top: 5px;
}

.forma-sidebar-submit:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(212,168,67,0.4);
}

/* للشاشات المتوسطة والصغيرة */
@media (max-width: 992px) {
.forma-main-wrapper {
flex-direction: column;
padding: 20px 15px;
}
.forma-sidebar-area {
width: 100%;
position: static;
order: 2;
}
.forma-content-area {
order: 1;
padding: 20px;
}
.forma-content-area .entry-title {
font-size: 24px !important;
padding: 15px !important;
}
}

@media (max-width: 600px) {
.forma-content-area {
padding: 15px;
}
.forma-content-area .entry-title {
font-size: 20px !important;
}
}
</style>
<?php
}
add_action(‘wp_head’, ‘forma_add_styles’);

// 6. إعادة هيكلة صفحة المقال (تغليف المحتوى)
function forma_restructure_content($content) {
if (!is_single()) return $content;

// الفورم الجانبي
$sidebar_form = ‘
<div class=”forma-sidebar-area”>
<div class=”forma-sidebar-form”>
<div class=”forma-sidebar-header”>
<span class=”forma-badge”>⭐ استشارة فورية</span>
<h3>احصل على <span>عرض سعر</span> مجاني</h3>
<p>املأ النموذج وسنرد عليك خلال 24 ساعة</p>
</div>
<div id=”formaSidebarFormWrap”>
<div class=”forma-input-group”>
<input type=”text” id=”forma_sidebar_name” placeholder=”الاسم الكامل” required>
</div>
<div class=”forma-input-group”>
<input type=”email” id=”forma_sidebar_email” placeholder=”البريد الإلكتروني” required>
</div>
<div class=”forma-input-group”>
<input type=”tel” id=”forma_sidebar_phone” placeholder=”رقم الهاتف” required>
</div>
<div class=”forma-input-group”>
<select id=”forma_sidebar_service”>
<option value=””>– اختر الخدمة –</option>
<option>تصميم مواقع احترافية</option>
<option>تصميم متاجر إلكترونية</option>
<option>تحسين محركات البحث SEO</option>
<option>استشارات سيو</option>
<option>كورس سيو</option>
</select>
</div>
<div class=”forma-input-group”>
<textarea id=”forma_sidebar_message” rows=”3″ placeholder=”تفاصيل مشروعك…”></textarea>
</div>
<button class=”forma-sidebar-submit” onclick=”submitSidebarForm()”>📩 إرسال الطلب الآن</button>
</div>
<div id=”formaSidebarSuccess” style=”display:none; text-align:center; padding:20px;”>
<div style=”font-size:40px;”>✅</div>
<p style=”color:#d4a843;”>تم الإرسال بنجاح!</p>
</div>
</div>
</div>’;

// تغليف المحتوى بالهيكل الجديد
$wrapped_content = ‘<div class=”forma-main-wrapper”>
<div class=”forma-content-area”>
<header class=”entry-header”>’ . get_the_title() . ‘</header>
<div class=”entry-content”>’ . $content . ‘</div>
</div>
‘ . $sidebar_form . ‘
</div>’;

return $wrapped_content;
}

// نستخدم filter لتعديل محتوى المقال
function forma_filter_content($content) {
if (is_single() && in_the_loop()) {
$content = forma_restructure_content($content);
}
return $content;
}
add_filter(‘the_content’, ‘forma_filter_content’, 100);

// تعديل عنوان المقال عشان يظهر بالشكل الصح
function forma_modify_title($title, $id = null) {
if (is_single() && in_the_loop() && !is_admin()) {
return ‘<h1 class=”entry-title”>’ . $title . ‘</h1>’;
}
return $title;
}
add_filter(‘the_title’, ‘forma_modify_title’, 10, 2);

// 7. جافاسكربت الفورم
function forma_add_script() {
if (!is_single()) return;
?>
<script>
function submitSidebarForm() {
var name = document.getElementById(“forma_sidebar_name”).value;
var email = document.getElementById(“forma_sidebar_email”).value;
var phone = document.getElementById(“forma_sidebar_phone”).value;
var service = document.getElementById(“forma_sidebar_service”).value;
var message = document.getElementById(“forma_sidebar_message”).value;

if (!name || !email || !phone) {
alert(“❌ الرجاء تعبئة الاسم والبريد الإلكتروني ورقم الهاتف”);
return;
}

var btn = document.querySelector(“.forma-sidebar-submit”);
var originalText = btn.innerHTML;
btn.innerHTML = “⏳ جاري الإرسال…”;
btn.disabled = true;

var formData = new FormData();
formData.append(“action”, “forma_submit”);
formData.append(“name”, name);
formData.append(“email”, email);
formData.append(“phone”, phone);
formData.append(“service”, service);
formData.append(“message”, message);
formData.append(“page_title”, document.title);
formData.append(“page_url”, window.location.href);

fetch(“<?php echo admin_url(‘admin-ajax.php’); ?>”, {
method: “POST”,
body: formData
})
.then(response => response.json())
.then(data => {
if (data.success) {
document.getElementById(“formaSidebarFormWrap”).style.display = “none”;
document.getElementById(“formaSidebarSuccess”).style.display = “block”;
setTimeout(function() {
document.getElementById(“formaSidebarFormWrap”).style.display = “block”;
document.getElementById(“formaSidebarSuccess”).style.display = “none”;
document.getElementById(“forma_sidebar_name”).value = “”;
document.getElementById(“forma_sidebar_email”).value = “”;
document.getElementById(“forma_sidebar_phone”).value = “”;
document.getElementById(“forma_sidebar_service”).value = “”;
document.getElementById(“forma_sidebar_message”).value = “”;
}, 5000);
} else {
alert(“❌ ” + data.data.message);
}
})
.catch(function() {
alert(“❌ حدث خطأ في الاتصال، حاول مرة أخرى”);
})
.finally(function() {
btn.innerHTML = originalText;
btn.disabled = false;
});
}
</script>
<?php
}
add_action(‘wp_footer’, ‘forma_add_script’);

/**
* ======================================================================
* انتهى الكود – دلوقتي المحتوى هيبقى عريض والفورم في الجنب ثابتة
* ======================================================================
*/
?>

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

تواصل معنا عبر واتساب
تواصل معنا عبر الاتصال
Scroll to Top