-
المساهمات
4376 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
30
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو بلال زيادة
-
لم أجد صراحة إضافة تلبي الغرض بشكلٍ صحيح كالإضافة المذكورة
-
أعتقد أن الأمر سيكون معقد بالاستخدام الطريقة التقليدية لأن عدد المنتجات كثير , لذلك ربما تلجأ للإضافة أفضل خيار .
- 6 اجابة
-
- 1
-
يجب عليك في ملف config.inc.php إضافة السطر التالي و محاولة إنشاء مستخدم جديد $cfg['Servers'][$i]['DisableIS'] = true;
-
عليك بالتأكد من سلامة التعريب من خلال فتح ملف ar.po في برنامج Poedit و إذا كانت هناك مشاكل في التعريب أن تقوم بإصلاحها كاملة , و تأكد بأنك تستدعي التعريب لكل لغة من خلال دالة load_theme_textdomain كما في الشكل التالي , load_theme_textdomain('اسم القالب', get_template_directory() . '/languages'); يمكنك وضع اسم القالب الخاص بك ثم مسار المجلد الذي يحتوي على اللغات load_theme_textdomain('assar', get_template_directory() . '/languages'); ثم لاستخدام التعريب يمكنك استخدام الدالة esc_html_e('It seems we.', 'assar'); بحيث يكون المتغير الأول هو النص , ثم اسم القالب الذي تم استخدامه في الدالة load_theme_textdomain
- 2 اجابة
-
- 1
-
ربما لا تستطيع فعل ذلك بسهول تامة ، ولكن هناك إضافة و اسمها webtoffe تمكنك من جلب المنتجات ذات الحقول المخصصة ( custom fileds ) و يمكنك الاطلاع على توثيق هذه الإضافة من هنا ، أيضا يمكنك إضافة منتج باستخدام دالة wp_insert_post كما في الشكل التالي $product = array( 'post_authoer' => $user_id, 'post_content' => '', 'post_status' => 'publish', 'post_title' => $value['product_name'], 'post_parent' => '', 'post_type' => 'product', ); $product_id = wp_insert_post($product, $wp_error); ثم تضيف metadatas الخاصة woocommerce باستخدام دالة update_post_meta و تركيبة هذه الدالة كالتالي update_post_meta( int $post_id, string $meta_key, mixed $meta_value); ثم تقوم بتحديث metadatas للمنتج update_post_meta($product_id, 'main_code_text_field', $value['main_code']); update_post_meta($product_id, 'total_sales', '0'); update_post_meta($product_id, '_stock', ''); update_post_meta($product_id, '_sku', ''); فيكون كامل الكود كالتالي $product = array( 'post_authoer' => $user_id, 'post_content' => '', 'post_status' => 'publish', 'post_title' => $value['product_name'], 'post_parent' => '', 'post_type' => 'product', ); $product_id = wp_insert_post($product, $wp_error); update_post_meta($product_id, 'main_code_text_field', $value['main_code']); update_post_meta($product_id, 'total_sales', '0'); update_post_meta($product_id, '_stock', ''); update_post_meta($product_id, '_sku', '');
-
هل تقصد تمرير القيمة id , name الى نفس list كما يلي ؟ listsearch.add(responsebody[i]['id']); listsearch.add(responsebody[i]['name']);
- 3 اجابة
-
- 1
-
إذا كنتي تريدين تعديل نموذج ما أو بيانات لعضو ما عن طريق modal فالامر كالتالي سوف تقومين بوضع خاصية data-id ووضع id العضو الذي تريدين تعديله في هذه الخاصية <a href=".bs-example-modal-xl" id="editName" data-id="1" class="btn btn-info waves-effect waves-light" data-cat="{{ $Categories->id}}" data-toggle="modal" <span class="btn-label"><i class="mdi mdi-wrench"> </i> <!-- Button trigger modal --> <a href="#" type="button" class="btn btn-primary" id="editName" data-id="1" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </a> و modal كالتالي <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <form action="{{ route('user.edit') }}" method="POST"> @csrf @method('PUT') <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <input type="hidden" id="user_id" name="user_id" value=""> <input type="text" name="name" id="name" value="" class="form-control"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" id="submit" class="btn btn-primary">Save changes</button> </div> </form> </div> </div> </div> ثم من خلال ajax يمكننا جلب معلومات العضو و زرعها في modal كما في الكود التالي $('body').on('click', '#editName', function (event) { event.preventDefault(); var id = $(this).data('id'); $.get('user/' + id + '/edit', function (data) { $('#user_modal').modal('show'); $('#user_id').val(data.data.id); $('#name').val(data.data.name); }) }); ثم عند الضغط على زر modal الخاص بالتعديل نقوم بتحديث البيانات باستخدام ajax كما في الكود التالي $('body').on('click', '#submit', function (event) { event.preventDefault() var id = $("#user_id").val(); var name = $("#name").val(); $.ajax({ url: 'user/' + id, type: "POST", data: { id: id, name: name, }, dataType: 'json', success: function (data) { $('#exampleModal').modal('hide'); window.location.reload(true); } }); });
-
يجب بعد ظهور modal و حينها عند الضغط على زر موافق أن يقوم بتوجيهه إلى المسار الذي تريدينه مثل <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </button> <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <form action="{{ route('') }}" method="POST"> @csrf @method('PUT') <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Save changes</button> </div> </form> </div> </div> </div> لاحظي أنه قمنا بإحاطة <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="submit" class="btn btn-primary">Save changes</button> </div> </div> بوسم form و في خاصية action قمنا بوضع المسار الذي نود الانتقال إليه .
-
أرى أنك قمت بتحديد عرض للمحدد card style="width: 26rem" وبالتالي يمكنك حذف هذه الخاصية كي يتم وضع العرض الافتراضي للأعمدة ، أيضا يمكنك توسيط الصناديق بنصف الصفحة عن طريق إضافة المحدد justify-content-center إلى السطر التالي <div class="row justify-content-center">
-
هذا خطأ ، يمكنك الاعتماد على id الخاص بكل منتج بشكل طبيعي ، عن أي حماية تقصد ، و ماذا سيستفيد من يعرض رقم المنتج , لا داعي لأمور تعقيدية تعقد عمل البرنامج معك , أهتم بحماية الباك أند و حماية المدفوعات هذا سيفي بالغرض و بالإجابة عن سؤال صحيح يمكنك توليد code معين لكل منتج باستخدام mt_rand بهذا الشكل mt_rand(1, 9999);
- 7 اجابة
-
- 1
-
أظن أنه يجب تغيير col-md-3 كالتالي و أخباري بالنتيجة ، <div class="container"> <div class="row"> <div class="col-md-3"> <div class="card bg-dark text-center text-white mt-5" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-laptop fa-2x pb-3"></i> <h5 class="card-title">Virtual</h5> <p class="card-text"> Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-primary">Read More</a> </div> </div> </div> <div class="col-md-3"> <div class="card bg-secondary text-center text-white mt-5" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-circle-user fa-2x pb-3"></i> <h5 class="card-title">Hybrid</h5> <p class="card-text">Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-dark">Read More</a> </div> </div> </div> <div class="col-md-3"> <div class="card bg-dark text-center text-white mt-5 mr-sm-2" style="width: 26rem"> <div class="card-body"> <i class="fa-solid fa-user-group fa-2x pb-3"></i> <h5 class="card-title">In Person</h5> <p class="card-text">Lorem , ipsum dolor sit amet consectetur adipisicing elit . lure, quas quidem possimus dolorum esse eligendi ? </p> <a href="#" class="btn btn-primary">Read More</a> </div> </div> </div> </div> </div>
-
أرجوا وضع الكود و ليس الملفات , حاول وضع الكود الخاص بالقسم التي تظهر به المشكلة ؟
-
هل يمكنك إرفاق الكود التي توجد به مشكلة ؟
-
كما أخبر المدرب وائل , يجب عليك توليد أرقام عشوائية للمنتجات من طرف الباك أند ، و بالتالي عند إرجاع البيانات من خلال api يمكنك إرجاع البيانات بصورة عشوائية و بحيث يكون التعامل مع طرف فلتر فقط عرض البيانات بناء على البيانات المرجعة من api هذه هي الطريقة الأنسب برأيي ، و طبعاً لماذا تريد توليد أرقام عشوائية و تعتمد عليها هذا سيسبب صعوبة التعامل مع المنتجات من طرف فلتر في طريقة حذف و تعديل المنتجات إذا أعتمدت على الأرقام العشوائية . لو كنت تستخدم لارافل كباك أند فيمكن استخدام التابع inRandomOrder لفرز نتائج الاستعلام عشوائيًا. على سبيل المثال ، يمكنك استخدام هذا التابع لجلب مستخدم عشوائي: $randomProducts = DB::table('products')->inRandomOrder()->get(); و يمكنك إرجاع البيانات كjson return response()->json($randomProducts);
- 7 اجابة
-
- 1
-
هذا بسبب كيفية وضع الأعمدة بداخل الصفحة , بحيث أعتقد أنك قم باستخدام المحدد col-md-4 لكل عمود بحيث يظهر في كل صف فقط 3 أعمدة و بالتالي كل عمود يكون كبير نسبياً مقارنة بحجم الصفحة. حاول تقليل حجم العمود وجعله مثلاً col-md-3 و من ثم حدث الصفحة و لاحظ هل تغير الحجم لكل عمود أو لا .
-
هل يمكنك إرفاق ملفاتك هنا مرة أخرى ؟
-
صحيح , يرجى تجربة هذا الأمر و اخباري بالنتيجة
-
يجب أن تكون جميع الكلمات باللغة الإنجليزية و من ثم يجب عليك إضافة الدالة load_theme_textdomain لتقوم بالتالي ، عند تغيير لغة الموقع يقوم بجلب تعريب الكلمات و الدالة تأخذ متغيرين ، المتغير الأول هو الدومين و المتغير الثاني هو مسار ملفات اللغة load_theme_textdomain('brite', get_template_directory() . '/languages');
-
صحيح ، تدعم اللغة العربية
-
صحيح , بإمكانك استخدام HTML , CSS لإنشاء صفحات هبوط بدون أي أحداث بداخلها كي يتفاعل الزائر مع الصفحة , و لكن أيضا يمكن استخدام جافا سكريبت في إنشاء الصفحة ، و في الواقع إذا كنت تريد إنشاء صفحة هبوط و كنت لا تعرف أي من لغات البرمجة فهناك الكثير من المواقع التي تقدم مثل هذه الخدمة و هي إنشاء صفحات هبوط عن طريق السحب و الإفلات للمكونات و تكون هذه المكونات مبرمجة باستخدام HTML, CSS, JavaScript و بالتالي ستكون الصفحة التي تقوم بإنشائها أكثر تفاعلية , و ميزة هذه المواقع إنها مبرمجة وفق نظام Page Builder أي يمكنك إضافة أي مكون أو إزالته للصفحة و الميزة الأخرى هي المكونات التي تكون عادة بشكل كبير موجودة مما تساعد في إنشاء الصفحة بأكثر احترافية و هناك مواقع أيضا تقدم قوالب جاهزة لإنشاء الصفحة و يكون عليك فقط تغيير المحتوى. من هذه المواقع : site123 من هنا. getresponse من هنا. strikingly من هنا.
-
هنا لاحظ أن الصور مختلفة الأحجام فيجب عليك تحديد حجم مناسب للصور , مثل img { width: 200px; height: 200px; } أو يمكنك فعل مثل الأمر السابق في تحديد العنصر الحاوي للنص الذي هو عبارة عن الوصف للمقالة و استخدام الخاصية overflow: hidden ليتم اقتصاص النص الزائد عن حجم العنصر الحاوي للنص , أيضا يمكنك استخدام دالة get_the_content() لجلب المحتوى والعمل على إظهار عدد محدد من هذا المحتوى باستخدام دالة substr و هذه الدالة تعمل على اقتصاص جزء معين من النص من خلال رقم بداية و نهاية للنص المراد إظهاره فقط $content = get_the_content(); echo substr($content, 0, 100); أو من خلال دالة wp_trim_words في ووردبريس <?php $content = get_the_content(); $more = wp_trim_words( $content, 60, '<a href="'. get_permalink() .'">...[ read more ]</a>' ); echo $more; ?>
- 1 جواب
-
- 1
-
لا أعرف صراحة و لكن يجب عليك المتابعة مع الدعم الفني حتى تُحل المشكلة.
-
لذلك عليك متابعة التواصل مع الدعم الفني و اتباع تعليماتهم إذا كان هناك تعليمات .
-
تفقد حسابك هنا على الأكاديمية ، هل تم تفعيل الدورات ؟