it-swarm.asia

هل تريد تحميل الأحداث المخصصة لنوع المنشورات إلى FullCalendar المستندة إلى jQuery؟

إليكم سؤال قضيته أكثر من 3 ساعات في محاولة لحل لكن كل طريقة أتبعها لا تنتهي بالنسبة لي.

كل ما أحاول القيام به هو الاستفادة من هذا البرنامج النصي ajax openource:

ولديك الإدخالات عرض جميع المشاركات داخل نوع منشور معين. بالنسبة لكل منشور من منشورات هذا الحدث ، أمتلك قاعدة بيانات مخصصة مع الحقول المخصصة التالية:

  • فئة الحدث
  • تاريخ بدء الحدث
  • وقت بدء الحدث
  • تاريخ انتهاء الحدث
  • وقت نهاية الحدث

على المستوى الأساسي ، أحتاج فقط إلى أن تظهر كل مشاركة داخل مربع التقويم المطبق استنادًا إلى "تاريخ بدء الحدث" و "وقت بدء الحدث" والارتباط بصفحة تفاصيل منشور الحدث المناسبة.

في موقف مثالي ، كنت أتطلع إلى الحصول على كل فئة حدث بلون خاص به ولكل فترة حدث عدة أيام إذا كان للحدث القابل للتطبيق "event_end_date" يختلف عن تاريخ البدء.

قام أي شخص بذلك من قبل ويمكنه تجاوز الكود المطبق للحصول على أيٍّ منهما أشعر أن هذا سيكون ذا قيمة كبيرة لمجتمع WordPress أيضًا.

3
NetConstructor.com

FullCalendarبحث لطيف.

يبدو لي أنك ستحتاج إلى كتابةرمز قصير(الذي أظهر كيفية القيام به هنا):

ثم قم بإنشاء رمز لاستدعاء FullCalendar ضمن الرمز المختصر .

بعد ذلك ، ستحتاج إلى كتابة التعليمات البرمجية لإنشاء صفيف Javascript أو جعله يشير إلى موجز JSON:

إليك الرمز الذي يمكنك وضعه في ملف .PHP مستقل والذي يمكنك الاتصال بـ /fullcalendar-json-feed.php أو أي شيء تريده. يستعلم الرمز أنواع منشورات مخصصة تسمى event والتي سيتم تشغيلها في الدليل الجذر لموقع الويب الخاص بك وسوف تنشئ خلاصة JSON وتفترض أنك حصلت على بعض الحقول المخصصة اللازمة لملء الصفيف/الخلاصة . (سأترك بقية الاستعلام وتفاصيل الحقل المخصص لك.Noteلم أختبر هذا في الواقع مع FullCalendar لذلك قد يستغرق الأمر بعض التغيير والتبديل) :

<?php
/*
* See: https://wordpress.stackexchange.com/questions/1447/
*
*/
include "wp-load.php";
global $wpdb;
header('Content-Type:application/json');
$events = array();
$result = new WP_Query('post_type=event&posts_per_page=-1');
foreach($result->posts as $post) {
  $events[] = array(
    'title'   => $post->post_title,
    'start'   => get_post_meta($post->ID,'_start_datetime',true),
    'end'     => get_post_meta($post->ID,'_end_datetime',true),
    'allDay'  => (get_post_meta($post->ID,'_all_day',true) ? 'true' : 'false'),
    );
}
echo json_encode($events);
exit;

يمكنك إنشاء خيار الصفيف برمز مشابه جدًا لذلك أعلاه. ومع ذلك ، سيستغرق الأمر بعض الترميز حتى تتمكن من الصواب. ربما تريد فقط استخدام حل تم إنشاؤه بالفعل؟ إليك مناقشة أسئلة وأجوبة حول تقاويم WordPress:

5
MikeSchinkel