اذهب إلى المحتوى

لوحة المتصدرين

  1. عبد الهادي اطويل

    • نقاط

      2

    • المساهمات

      39


  2. محمد أحمد العيل

    • نقاط

      1

    • المساهمات

      308


  3. مهند داود

    مهند داود

    الأعضاء


    • نقاط

      1

    • المساهمات

      37


  4. kinan mawed

    kinan mawed

    الأعضاء


    • نقاط

      1

    • المساهمات

      45


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 06/22/15 في كل الموقع

  1. من المتفق عليه عالميًّا الآن أنّ ووردبريس WordPress أكثر من مجرّد منصّة تدوين، بل هو نظام إدارة محتوى Content Management System. ولكن في وجهة نظري أنّ ما يجعل ووردبريس نظام إدارة محتوى قوي هو قدرته على إنشاء محتوى مُخصّص وعرضه بالطريقة التي تُريدها تمامًا. سنتكلّم في هذا الدرس عن الأنواع الثلاثة للمحتوى المُخصّص في ووردبريس وسنرى كيف نقوم بإنشاء ذلك المحتوى، سنقوم بتغطية: أنواع المنشورات المُخصّصة Custom Post Types أنواع التّصنيفات المُخصّصة Custom taxonomies الحقول المُخصّصة Custom fields سنتطرّق في هذا الدرس -وهو الدرس الأول من سلسلة مُكوَّنة من درسين- إلى مفهوم المحتوى المُخصّص في ووردبريس وسنشرح كيفية التّسجيل والاستفادة من أنواع المنشورات المُخصّصة، بالإضافة إلى استكشاف كيف يقوم ووردبريس بعرض المنشورات التي نقوم بإنشائها باستخدام ذلك النوع المُخصّص للمنشورات. فهم واستخدام كل نوع من أنواع المحتوى المُخصّص من المفيد قبل البدء بإنشاء محتوى مُخصّص أن نعرف ما يفعله كلّ نوع منها وفي أيّة حالات قد نستخدمها، فلنبدأ بأنواع المنشورات المُخصّصة. 1. أنواع المنشورات المُخصّصة يأتي ووردبريس مُجهّزًا بشكلٍ افتراضي بمجموعة من أنواع المنشورات وهي: المنشورات Posts. الصفحات Pages. المرفقات Attachments. عناصر قائمة التّصفّح Navigation menu items. المراجعات Revisions. الروابط Links (إن كنتَ تستخدم ميّزة المدوّنات blogroll). تستطيع أيضًا إنشاء أنواع خاصة بك من المنشورات المُخصّصة لتخزين المحتوى الذي لا يندرج تحت أيّ من التصنيفات السابقة، قد تتضمن الأمثلة المنتجات في موقع للتجارة الإلكترونية e-commerce أو الأحداث events في موقع للعروض Listings site، إن كنت استخدمت سابقًا إضافة Plugin لإنشاء متجر، عرض لحدث event listing أو أي نوع آخر من المحتوى الفريد فقد أنشأتَ بالمصادفة نوعًا جديدًا من المنشورات المُخصّصة حتى بدون أن تعرف ذلك. تستخدم العديد من الإضافات أنواع المنشورات المُخصّصة، نذكر على سبيل المثال: MarketPress: تستخدم نوع منشورات مُخصّصة للمنتجات. CoursePress Pro: تستخدم أنواع منشورات مُخصّصة للدروس، المدرّبين والطلّاب. Support System: تستخدم أنواع منشورات مُخصّصة للتذاكر والأسئلة الشائعة FAQs. يوجد العديد من الأمثلة الأخرى ولكن تعطينا الأمثلة السابقة فكرة عن استخدامات أنواع المنشورات المُخصّصة. من الهام أن تتذكر أنّ أنواع المنشورات المُخصّصة هي ليست منشورات، فهي لا تملك أيّة علاقة مباشرة مع المنشورات ويجب أن تفكر بهما بشكل منفصل، يُمكنك إعداد (أو تسجيل) أنواع خاصة بك من المنشورات المُخصّصة لتسلك سلوك المنشورات أو الصفحات، الأمر عائدٌ إليك، فإن تمّ إعدادها كالمنشورات سيكون بإمكانك عرض صفحات الأرشيف الخاصة بها، أمّا إن تمّ إعدادها كالصفحات فستكون بشكلٍ شجري hierarchical، يتم إعداد معظم أنواع المنشورات المُخصّصة لتسلك سلوك المنشورات ولكن لا يعني هذا أنّ أنواعك يجب أن تكون كذلك. 2. أنواع التصنيفات المُخصّصة وكما وجدنا مع أنواع المنشورات المُخصّصة فإنّ أنواع التّصنيفات المُخصّصة تضيف إلى أنواع التّصنيفات الموجودة مسبقًا في ووردبريس، والتي هي: التصنيفات Categories. الوسوم Tags. هيئات المنشور Post Formats. تصنيفات الرابط Link categories (والتي تنطبق على الروابط في المدوّنة blogroll إن كنت تستخدمها). تستطيع أيضًا إنشاء أنواع خاصة بك من التّصنيفات المُخصّصة لترتيب المحتوى بشكل فعال أكثر، من الهام أن تتذكر أنّ نوع التّصنيف المُخصًص هو ليس تصنيف Category ولا يملك أيّة علاقة بالتصنيفات Categories، بدلًا من ذلك فإنّ التصنيف Category هو فقط واحد من أنواع التّصنيفات المستخدمة من قبل ووردبريس. سيعطيك استخدامك للتصنيفات المُضمّنة مع ووردبريس في بعض الأحيان كل ما تحتاجه لترتيب المحتوى لديك، على سبيل المثال إن كنت تحتاج أن تقدّم بنية تصنيفات شجريّة hierarchical category structure، ولكن في بعض الأحيان لن يكون هذا كافيًا بالنسبة لك خاصة إن كنت تريد أن تتمكن من عرض المنشورات باستخدام أكثر من taxonomy واحد أو كنت تستخدم نوع منشورات مُخصّصة وتريد استخدام taxonomy منفصل له. تتضمن الأمثلة ما يلي: على موقع للتجارة الإلكترونية: تكون أنواع التّصنيفات للمنتج Product غالبًا متعددة كاللون والحجم والنسيج بالنسبة لمتجر ألبسة. على موقع لعروض الأحداث: taxonomies لنوع الحدث ومكانه والمزيد من ذلك. على قاعدة المعرفة knowledgebase: إنشاء taxonomies لترتيب البيانات بطريقة شاملة، على سبيل المثال إن كانت قاعدة معرفة لتطوير الوِب فربّما تستخدم taxonomies للغات البرمجة، درجة الصعوبة والمنصّات platforms. نذكر مرّة آخرى أنّ الإضافات تستخدم أنواع التّصنيفات المُخصّصة، يوجد على سبيل المثال في إضافة MarketPress تصنيفات ووسوم للمنتج بشكلٍ مستقل عن تصنيفات ووسوم منشورات المدوّنة Blog posts، يوجد في CoursePress تصنيفات للدرس وفي نظام الدعم توجد أيضًا taxonomies لأنواع التذاكر وتصنيفات للأسئلة الأكثر شيوعًا FAQ. قبل أن تقرر إن كنت بحاجة تسجيل taxonomy مُخصّص فإنّك ستحتاج أن تسأل نفسك إن كان نظام التصنيفات الحالي يقوم بما تحتاجه، إن كان كل ما تحتاج إليه هو القدرة على إضافة شجرة hierarchy إلى تصنيفاتك فبإمكانك فعل هذا حاليًا. فإن كنّنا نقوم بتطوير موقع للتدريب على سبيل المثال وأردنا استخدام تصنيفات لترتيب المنشورات حسب المهارة أو المعلومات التي يتم تدريسها فبإمكاننا استخدام التصنيفات الشجرية hierarchical categories كما يظهر في هذه الصورة، تستطيع أن ترى هنا أننا نملك ثلاثة تصنيفات في المستوى الأعلى وهي: تطوير الإدارة management development، تطوير شخصي personal development ومهارات تقنيّة technical skills، مع وجود كافة التصنيفات الأخرى تحتها في المستوى التالي. ولكن ماذا لو تعقّدت الأمور أكثر قليلًا؟ فلنفرض أنّك أردت إضافة سلسلة من المنشورات حول التواصل مع فريقك. ستكون الأمور أسهل لو استطعنا فصل حقيقة أنّ هذه المنشورات هي للمدراء managers وتتعلّق في نفس الوقت بمهارات التواصل communication skills، لذلك من الأفضل ربّما لو استطعنا إضافة تصنيف taxonomy للجمهور audience واستخدامه لتحديد المنشورات للمدراء managers بدلًا من أن نملك تطوير الإدارة management development كتصنيف، باستطاعتنا إنشاء تصنيف جديد للجماهير audiences، بهذه الطريقة نستطيع تحديد الموضوعات المتعدّدة ومجموعات الجمهور المتعّددة لكل منشور. سنرى كيفية إنشاء taxonomy مثل هذا في الدرس القادم من سلسلة الدروس هذه، حالما نقوم بإنشائها سيكون بإمكاننا الاختيار من كلا المجموعتين categories و audience في شاشة تعديل المنشور كما هو ظاهر في الصورة السابقة. 3. الحقول المُخصّصة النوع الثالث من المحتوى المُخصّص هو الحقل المُخصّص، يتمّ الإشارة له أيضًا بأنّه البيانات الوصفية Metadata للمنشور. يتكون الحقل المُخصّص من عنصرين يُمكنك رؤيتهما وتعديلهما في شاشة تعديل المنشور وهما المفتاح key والقيمة value، بإمكانك استخدام نفس المفتاح عدّة مرات للمنشورات المتعدّدة ولكن تملك كل منها قيمة فريدة يُعطي ووردبريس كل حقل مُخصّص تقوم بإنشائه مُعرّف ID فريد خاص به أيضًا، والذي يعني أنّ كلّ حقل مُخصّص لكل منشور هو فريد من نوعه حتى ولو كانت تملك نفس المفتاح والقيمة. يختلف هذا عن أنواع التّصنيفات المُخصًصة، فبالرغم أنّك تستطيع الاختيار من مفتاح موجود عند إنشاء حقل مُخصّص فلن يكون بإمكانك الاختيار من قيم موجودة استخدمتها سابقًا، يعني هذا بشكل عام أنّ أنواع التّصنيفات أفضل لترتيب وتصنيف البيانات. ملاحظة: تعطيك بعض الإضافات اختيارًا لكي تنتقي قيمة الحقل المُخصّص من صندوق قائمة منسدلة، ولكنها ستستخدم صندوق وصفي مُخصّص metabox يتم إنشاؤه من قبل الإضافة في شاشة تعديل المنشور بدلًا من واجهة الحقول المُخصّصة المعيارية التي يزودنا بها ووردبريس. ولكن توجد بعض الحالات التي يكون فيها استخدام حقل مُخصّص مفيدًا لترتيب البيانات، على سبيل المثال إن كنت تريد تخزين بيانات عدديّة، ففي موقع للتجارة الإلكترونيّة لن ترغب بإنشاء taxonomy لكل سعر محتمل، بل ستقوم بدلًا من ذلك بإدخال هذا في حقل مُخصّص، وتستطيع بعدها استخدام هذه البيانات للسماح للزبائن بتحديد المنتجات ذات السعر الأقل من 20$ على سبيل المثال أو ترتيبها بحسب السعر. تستطيع أيضًا استخدام الحقول المُخصّصة لتخزين البيانات غير العدديّة، مما يعني أنّه يمكن تخزين وعرض بيانات متماثلة بين المنشورات وعرضها بشكل منفصل عن جسم المنشور، على سبيل المثال في موقع عرض للوظائف jobs بإمكانك استخدام حقول مُخصّصة لتخزين الموقع، الراتب وعدد ساعات العمل لمكان شاغر. وهذا ما تفعله إضافة Jobs & Experts، فهي تستخدم تجميعة combination من الحقول المُخصّصة (يُشار إليها بـ “Job Meta”) و taxonomies (يُشار إليها بـ “Category and Skill”) لترتيب البيانات: بمجرّد أن تقوم بإضافة هذه البيانات سيتمكن زوار موقع الوظائف Jobs الخاص بك من ترتيب الوظائف بحسب الميزانية، عرض الأعمال التي لا تزال مفتوحة فقط ورؤية البريد الإلكتروني للاتصال وتاريخ الانتهاء لكل وظيفة معروضة بشكل بارز، يُستخدم نوع التّصنيف للمهارات بحيث نتمكّن من عرض صفحات الأرشيف لكل واحدة منها. سنتعلّم كيفية إنشاء حقولنا المُخصّصة في الدرس التالي من هذه السلسلة، سننتقل في هذا الدرس إلى إنشاء أنواع المنشورات المُخصّصة. إنشاء نوع منشورات مُخصّصة بعد أن قمت بتحديد أنّك تحتاج إلى نوع منشورات مُخصّصة توجد طريقتان لإنجاز هذا الأمر، برمجته بنفسك أو استخدام إضافة plugin، سأقوم قريبًا بشرح الكود الضروري لتسجيل نوع منشورات مُخصّصة في قالب Theme أو إضافة Plugin، ولكن دعنا نلقي نظرة على بعض الإضافات التي تستطيع استخدامها: تزوّدك CustomPress بواجهة لإنشاء أنواع المنشورات المُخصّصة، التصنيفات والحقول المُخصّصة وهي سهلة الاستخدام كثيرًا، إن كنت تريد إنشاء العديد من أنواع المحتوى المُخصّص ستوفر عليك هذه الإضافة عناء تثبيت أكثر من إضافة. إنّ إضافة Custom Post Type UI هي أشيع إضافة مجانيّة لإضافة أنواع المنشورات المُخصّصة على مستودع الإضافة plugin repository، فهي تسمح لك بإضافة أنواع المنشورات المُخصّصة وأنواع التّصنيفات ولكن لا تسمح بإنشاء الحقول المُخصّصة، واجهتها ليست سهلة الاستخدام تمامًا كما في CustomPress، مع المزيد من المصطلحات التقنيّة لكي تتمكّن من فهمها، ولكنّها تقوم بعملها. تستطيع القراءة أكثر عن الإضافات التي تساعدك على إنشاء محتوى مُخصّص في مراجعتنا عن أفضل إضافات أنظمة إدارة المحتوى the best CMS plugins. ولكن إن كنتَ ترتاح ببرمجة الأنواع الخاصّة بك فها هي طريقة تسجيل نوع منشورات مُخصّصة. 1. برمجة نوع المنشورات الخاصة بك يزوّدنا ووردبريس بدالّة تُدعى ()register_post_type تستطيع استخدامها لإنشاء نوع خاص بك من المنشورات المُخصّصة، يجب أن تضيف هذه الدالّة إلى ملف دالّات القالب أو بشكل أفضل إلى إضافة تقوم بإنشائها خصيصًا لهذا الأمر وتقوم بتشغيلها عبر hook init في ووردبريس. ملاحظة: من الأفضل أن تُسجّل النوع الخاص بك من المنشورات المُخصّصة في إضافة بدلًا من عمل ذلك في قالبك، لأنّك إن قمت في الحالة الأخيرة بتغيير قالبك في المستقبل فلن تخسر النوع الخاص بك من المنشورات المُخصّصة. تحتاج لمتابعة هذه التقنيّة إلى الوصول إلى ملفات ووردبريس الخاصة بك وإلى مُحرّر شيفرة Code editor، أوصي بتجربة هذه الطريقة على موقع للتطوير والاختبار وليس على موقعك الموجود على الإنترنت. ابدأ بإنشاء ملف فارغ جديد يُدعى post-types.php وقُم بحفظه في مجلّد plugins الموجود في مجلّد wp-content. أضف الآن الشيفرة التالية إلى ذلك الملف: <?php /*Plugin Name: Create Product Post Type Description: This plugin registers the 'product' post type. Version: 1.0 License: GPLv2 */ ?> تفتح هذه الشيفرة ملف الإضافة وتُخبر ووردبريس أنّها عبارة عن إضافة، تُزوّدنا أيضًا بعنوان title ووصف description والذي سيساعدك في تحديد الإضافة عند تفعيلها على موقعك. أضف الآن هذه الأسطر تحت السطر الذي يحتوي على */ وفوق سطر الإنهاء ?> : function wpmudev_create_post_type() { } add_action( 'init', 'wpmudev_create_post_type' ); سيقوم هذا بإنشاء دالّة تحمل الشيفرة لتسجيل نوع المنشورات الخاصّة بك وسيقوم بإرفاقها إلى init hook باستخدام الدالّة ()add_action، تتأكد هذه الدالّة من أنّ ووردبريس يقوم بتشغيل دالّتك في الوقت المناسب. تحتاج الآن لإضافة شيفرة النوع الخاص بك من المنشورات المُخصّصة داخل الأقواس curly braces: // set up labels $labels = array( 'name' => 'Products', 'singular_name' => 'Product', 'add_new' => 'Add New Product', 'add_new_item' => 'Add New Product', 'edit_item' => 'Edit Product', 'new_item' => 'New Product', 'all_items' => 'All Products', 'view_item' => 'View Product', 'search_items' => 'Search Products', 'not_found' => 'No Products Found', 'not_found_in_trash' => 'No Products found in Trash', 'parent_item_colon' => '', 'menu_name' => 'Products', ); //register post type register_post_type( 'product', array( 'labels' => $labels, 'has_archive' => true, 'public' => true, 'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields', 'thumbnail','page-attributes' ), 'taxonomies' => array( 'post_tag', 'category' ), 'exclude_from_search' => false, 'capability_type' => 'post', 'rewrite' => array( 'slug' => 'products' ), ) ); دعنا نلقي نظرة أقرب على ما تفعله هذه الشيفرة، يخبر المقطع الأول ووردبريس أيّة تسميات labels تريد استخدامها لنوعك من المنشورات، ستقوم هذه التّسميات باستبدال التّسميات الافتراضيّة والتي هي: Posts ،Add Post... إلخ، نقوم بعد ذلك باستدعاء دالّة ()register_post_type والتي تملك المُعامِلات parameters التالية: title: لن تعمل الدالّة بدونه. labels: التّسميات التي قمتَ بتحديدها مُسبقًا. has_archive: عند تعيين قيمته إلى true فأنت تُخبر ووردبريس بأنّه من الممكن إظهار صفحات الأرشفة بالنسبة لنوع المنشور هذا. public: قم بتعيين قيمته إلى true لكي تتأكد أنّه بإمكان الناس رؤية صفحة لكل منتج على موقعك. supports: عناصر مدير نظام ووردبريس WordPress admin التي يدعمها نوع المنشورات المُخصّصة. taxonomies: مصفوفة array من أنواع التّصنيفات التي تريد استخدامها مع نوع المنشورات، لقد قمت باستخدام التصنيفات والوسوم المُضمّنة، على الرغم من أنّك قد ترغب بتركها فارغة وتسجيل taxonomy مُخصّصة للنوع الخاص بك من المنشورات لاحقًا. exclude_from_search: قم بتعيين قيمته إلى false لكي تتأكد أنّه يتم تضمين منتجاتك في نتائج البحث. capability_type: يتم تعيين قيمة هذا الُمعامل كـ post لأنّ منتجاتنا ستسلك سلوك المنشورات وليس الصفحات. rewrite: يُخبر هذا المُعامل ووردبريس ما هو الـ slug بالنسبة لأرشيف نوع المنشورات، والذي هو النص المُستخدم بعد اسم نطاقك domain كرابط له، بتعيين هذا إلى القيمة products سيكون رابط صفحة منتجك: http://mysite.com/products قُم الآن بحفظ ملفك، ستبدو شيفرة الإضافة كاملةً كما يلي: <?php /*Plugin Name: Create Product Post Type Description: This plugin registers the 'product' post type. Version: 1.0 License: GPLv2 */ // register custom post type to work with function wpmudev_create_post_type() { // set up labels $labels = array( 'name' => 'Products', 'singular_name' => 'Product', 'add_new' => 'Add New Product', 'add_new_item' => 'Add New Product', 'edit_item' => 'Edit Product', 'new_item' => 'New Product', 'all_items' => 'All Products', 'view_item' => 'View Product', 'search_items' => 'Search Products', 'not_found' => 'No Products Found', 'not_found_in_trash' => 'No Products found in Trash', 'parent_item_colon' => '', 'menu_name' => 'Products', ); //register post type register_post_type( 'product', array( 'labels' => $labels, 'has_archive' => true, 'public' => true, 'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields', 'thumbnail','page-attributes' ), 'taxonomies' => array( 'post_tag', 'category' ), 'exclude_from_search' => false, 'capability_type' => 'post', 'rewrite' => array( 'slug' => 'products' ), ) ); } add_action( 'init', 'wpmudev_create_post_type' ); ?> ستحتاج إلى تفعيل إضافتك الجديدة لكي يعمل النوع الخاص بك من المنشورات، اذهب إلى صفحة الإضافات Plugins في لوحة تحكم موقعك وقم بإيجاد إضافتك الجديدة: اضغط على رابط التفعيل Activate لكي يتم تفعيلها، سترى الآن نوعًا إضافيًا للمنشورات في قائمة لوحة التحكم: تستطيع الضغط على رابط المنتجات Products والبدء بإضافة منتجات إلى موقعك بنفس الطريقة التي تفعلها مع المنشورات. عرض نوع المنشورات الخاصة بك على واجهة الموقع الأمامية Front End: بمجرّد أن تقوم بإضافة بعض المنتجات ستحتاج أن تكون قادرًا على عرضها على واجهة موقعك. 1. ضبط الروابط الدائمة Permalinks لكي توصلك إلى صفحات نوع المنشورات الخاصة بك تحتاج في البداية لتحديث الروابط الدائمة Permalinks على موقعك بحيث يستخدم ووردبريس الروابط الصحيحة لعرض المنتجات أو أرشيف المنتجات: في لوحة تحكم ووردبريس اذهب إلى إعدادات: Settings -> Permalinks تأكد من أنّه تم اختيار خيار اسم المنشور “post name”. 3.اضغط على زر حفظ التغييرات Save Changes. ملاحظة: تحتاج إلى فعل هذا حتى ولو كنت قد قمت بإعداد الروابط الدائمة مُسبقًا لأنّ ووردبريس يحتاج إلى تحديث هذه الإعدادات لأجل مجموعة الروابط الجديدة لمنتجاتك. 2. إضافة نوع المنشورات الخاصة بك إلى قائمة التصفّح إن كنت ترغب بإضافة منتجات إلى قائمة التصفّح لديك تستطيع الذهاب إلى: Appearance -> Menus وسترى أنّه يتم عرض المنتجات على اليسار، قم ببساطة بسحب أي منتج إلى قائمتك لكي تُضّمنه إليها. إنّ إضافة أرشيف منتج أصعب قليلًا ولعمل هذا تحتاج إلى إضافة رابط مُخصّص Custom Link إلى القائمة: بينما لا تزال في شاشة القوائم اضغط على صندوق القوائم Links box على اليسار. في حقل الـ URL اكتب http://mysite.com/products مستبدلًا mysite.com باسم نطاقك الخاص. في حقل نص الرابط Link text اكتب Products. اضغط على زر إضافة إلى القائمة Add to Menu. بعد أن تمّت إضافة الرابط إلى القائمة قم بنقله إلى المكان المناسب وقم بحفظ القائمة. احفظ تغييراتك بالضغط على Save Menu. Don’t miss this step! عندما تزور الآن واجهة موقعك وتضغط على ذلك الرابط في القائمة سيتم نقلك إلى صفحة أرشيف منتجك، ها هي الصفحة الخاصة بي: 3. قالب Template لنوع المنشورات الخاصة بك يستخدم ووردبريس شيئًا يُدعى شجرة القالب template hierarchy لتحديد أي ملف قالب Template في قالبك Theme يجب أن يستخدمه لعرض نوع محتوى معطى، إنّ وصف كيفية عمل شجرة القالب بالتفصيل هو خارج مجال درسنا هذا، ولكن يساعدك أن تعرف كيف يقوم ووردبريس بعرض النوع الجديد الخاص بك من المنشورات. عندما يقوم ووردبريس بعرض منتج واحد سيبحث في قالبك عن كل واحد من هذه الملفات بالترتيب: ملف لعرض منتج وحيد يُدعى single-product.php. ملف لنشر كل المنشورات المفردة من أي نوع منشور كانت ، يُدعى single.php. الملف العام لنشر كل أنواع المحتوى يُدعى index.php. عندما يعرض ووردبريس أرشيف لمنتج سيعمل من خلال ملفات القالب Template هذه: ملف لعرض أرشيف المنتج يُدعى archive-product.php. قالب أرشيف عام يُدعى archive.php. القالب الافتراضي default template وهو index.php. سيعمل ووردبريس عبر هذه الشجرة hierarchy ويستخدم ملف القالب الذي يصادفه أولًا، لذا إن كنت تريد إنشاء قالب مُخصّص custom template لمنتجاتك فمن الجيّد أن تبدأ بنسخ ملف single.php وتحفظه باسم single-product.php ومن ثمّ تقوم بتعديله. على أيّة حال إن لم تكن ترغب بإنشاء ملفات قالب template files سيقوم ووردبريس بكل سرور باستخدام الملفات الموجودة مُسبقًا ضمن قالبك، وهو ما تمّ عمله بالنسبة لي مع ملفات archive.php و single.php على قالب twenty fifteen theme. ملخّص تجعل القدرة على إنشاء محتوى مُخصّص ووردبريس قويًا جدًا: نستطيع استخدامه لإضافة وعرض العديد من أنواع المحتوى المرنة بالطريقة التي نحتاجها. تعلّمنا في هذا الدرس عن الأنواع الثلاثة للمحتوى المُخصّص، ما هي ومتى نستخدم كلّ واحد منها، تعلّمنا أيضًا كيف نُنشئ أنواع منشورات مُخصّصة ونعرضها على موقعنا. سنتعلّم في الدرس القادم كيف نقوم بإنشاء taxonomies مُخصّصة وحقول مُخصّصة. هل تستخدم أنواع منشورات مُخصًصة في مواقعك؟ هل تفضّل استخدام إضافة أو كتابة الشيفرة الخاصّة بك؟ في أيّة أشياء تستفيد منها؟ دعنا نعلم أفكارك في التعليقات. ترجمة -وبتصرّف- للمقال Creating Custom Content in WordPress: Custom Post Types لصاحبه Rachel McCollin. sse-examples.zip
    1 نقطة
  2. يمكن عمل ذلك عن طريق إجراء تعديل على كود الإضافة المعنية (Widget)، وبالضبط في السطر الأول منها، فلو أخذنا على سبيل المثال الكود التالي من إضافة الهيدر: <b:widget id='Header1' locked='true' title='Test blog (Header)' type='Header'>نلاحظ أن هناك وسوم لها قيم معينة، ومنها نجد الوسم التالي: locked='true'وهو المسؤول عن فتح أو إغلاق الإضافة، حيث حينما تكون قيمة الوسم locked هي true فحينها لا يمكن حذفه أو تغيير مكانه، ولجعله قابلا للتعديل بالحذف أو تغيير المكان نغير قيمة locked إلى false. أما عن أنواع الإضافات فيتم تعريفها في الكود أعلاه من خلال الوسم type، حيث نجد من بين الأنواع مثلا: HeaderHTMLLinkListListوغيرها، وعددها محدد من طرف منصة بلوجر، ويمكنك الاطلاع على شرح مفصل لما يتعلق بالإضافات وأنواعها في الرابط التالي: http://www.bloggerdev.com/2014/09/Page-Elements-Sections-and-widgets.html وأخيرا أنصحك أختي الكريمة وقبل خوض غمار تطوير قوالب بلوجر، أن تمنحي لنفسك بعض الوقت للتعرف على بنيته بالاطلاع على المراجع المتاحة، وبعدها ستتضح لك أمور كثيرة وسيصبح من السهل عليك التعامل بشكل أفضل مع كود القالب والتعديل عليه وفق الحاجة حسب الإمكانات التي تتيحها منصة بلوجر.
    1 نقطة
  3. أحيانًا يعلم زبائنك أنك ستقدم لهم خصائص هم بحاجة إليها، لكن لسبب أو لآخر لا يستخدمون منتجك. لكن لماذا يحدث هذا؟ إنها مشكلة القيمة يجب أن تدرك تمامًا أن لديك مشكلة مع قيمة المنتج الخاص بك عند سماعك لعبارات مثل: لم تسنح لي فرصة لتجربة المنتج لغاية الآن.إنه مكلف للغاية.سأجرّبه لما يكون لدي الوقت.نحن غير قادرون على شرائه بعد.ليس مهمًا لنا في الوقت الحالي.ربما سمعت هذه العبارات من قبل، أليس كذلك؟ في الواقع، جميع العبارات السابقة تعني "أنا لا أرى قيمة المنتج"، فالمال ليس الشيء الوحيد الذي تفكر به الشركات فهم ينفقون من عملتي الوقت والتركيز أيضًا. إذا أردت أن تستخدم الشّركات منتجك الخاص فيجب أن يستحق ذلك الوقت والتركيز والمال المبذول عليه، والمال دائمًا يأتي في آخر الاهتمامات، فـ 49$ شهرياً لا تعني أي شيء في عالم الأعمال أو لشركة تدفع 20 ألف دولار مقابل رواتب للموظفين شهرياً، وبالتالي سيكون منتجك مشروعًا صغيرًا بالنسبة لهم. حل مشكلة القيمة يتطلب منك وضع استراتيجية تسويق وتموضع أقوى وأفضل لمُنتجك، فالمسألة كلها تعتمد على طريقتك في بيع المنتج، وعلى قدرتك في تجميل عروضك أثناء التسويق. في معرض للسيارات، تبدو سيارات أودي مرتفعة الثمن لكنها تظهر كصفقة بسيطة في معرض لليخوت. 29 دولار شهريًا هي سعر مُرتفع لخدمة تخزين سحابية قدرها 5 جيجابايت، بينما تظهر قيمتها الحقيقية إذا أشرنا إلى أهمية الحفاظ على صور عائلتك في أمان إلى الأبد. الانطلاقة الحقيقية لصناعة معجون الأسنان بدأت فعليًا عندما شُرِع في التّسويق لفكرة "الأسنان الجميلة" بدلاً من "الوقاية من أمراض اللثة"، وجميعنا يعرف أن خيط الأسنان له فوائد جيدة، لكننا لغاية الآن لم نجد طريقة مناسبة لتسويقه مثل المعجون. لماذا يجب عليّ شراء منتجك؟فهم الدافع الحقيقي لشراء الزّبائن لمنتجك هو المفتاح الأساسي لتحديد نشاطك التسويقي بشكل صحيح. "طريقة سهلة للوصول إلى ملفاتك"، "الاطمئنان على جميع ملفاتك الهامة"، "مشاركة ملفاتك بصورة فعالة"، في الحقيقة فإن كل هذه العبارات تصف نفس المُنتج، لكنّها مُصمّمة لتُثير إعجاب أشخاص مُختلفين وبأسعار مُختلفة. إليك هذا المثال الواقعي، صديق لي لم تسِر معه الأمور بصورة جيدة في بيع منتج شعاره العام هو "جميع ملفاتك في مكان واحد". وبالرغم من أن المنتج يبدو جيدًا للوهلة الأولى لكنه لم يقدم أي حلول للمشاكل التي يعاني منها المستخدمون. تلقى صديقي العديد من الردود مثل "يبدو جيدًا، سأقوم بتجربته خلال بضعة أسابيع". بعد تفكير وبحث عميق، وجد صديقي المشكلة الحقيقية التي يعاني منها عملاؤه المحتملون، وبالتالي قام بإعادة تأطير المنتج ليصبح "عند تُباع أو تتوقف الشّركات الناشئة التي تُطوّر تطبيقك المفضل فإنه بإمكانك الاعتماد علينا"، واستطاع بذلك أن يلقى صدى في السوق. القصة لا تكمن في تغيير إحدى السطور البرمجية الخاصة بالمنتج، بل في إيجاد حل لمشكلة يعاني منها الكثيرون، وفعلاً بدأ الناس بشراء المنتج. الفكرة الرئيسية التي أرغب بإيصالها هي فهم أن تكلفة استخدام مُنتجك لا تقتصر على المال فقط، لذلك عندما تطلب من المستخدمين القيام بأمر ما فتذكر أن يتوافق ذلك مع احتياجاتهم ورغباتهم لا وفق مميزات مُنتجك وخواصه. فكرة: العملاء الذين قاموا بشراء منتجك مؤخرًا سيقومون بوصفه للآخرين بشكل أفضل منك. سأترك الكلمة الأخيرة لـ"بيتر دراكر" والذي يقول "من النادر أن يشتري الزبون ما تعتقد الشركة أنها باعته لهم" ترجمة -وبتصرّف- للمقال Price Is What You Pay, Value Is What You Get لصاحبه Des Traynor.
    1 نقطة
  4. لم أفهم قصدك بالعبارة التالية: "عنوان التدوينة في css هو tittle"، فهلا وضحت؟ علما أن الكود أعلاه لا علاقة له بعنوان التدوينة، بل هو يدرج وسوم css من خلال التسميات.
    1 نقطة
  5. لتثبيت حزمة بصيغة deb استخدم الأمر التالي: sudo dpkg -i package.deb حيثُ package.deb اسم الحزمة. قد تحتاج الحزمة لاعتماديّات (حزم أخرى يجب تثبيتها قبل إمكانيّة تثبيت هذه الحزمة) في هذه الحالة ستظهر رسالة خطأ بالأمر، يُمكن تنفيذ الأمر التّالي لتنزيل الاعتماديّات ثمّ تثبيتها: sudo apt-get install -fيُمكن أن تظهر رسائل خطأ بعد تنفيذ الأمر أعلاه، في هذه الحالة تجب عليك معرفة السّبب وإصلاحُه قبل تثبيت البرنامج.
    1 نقطة
×
×
  • أضف...