it-swarm-id.com

Memuat Acara Jenis Posting Kustom ke dalam FullCalendar berbasis jQuery?

Berikut adalah pertanyaan yang saya habiskan selama 3 jam untuk menyelesaikannya tetapi setiap pendekatan yang saya ambil akhirnya tidak berhasil untuk saya.

Yang saya coba lakukan adalah memanfaatkan skrip kalender opensource ajax ini:

dan minta entri menampilkan semua posting dalam jenis posting tertentu. Untuk setiap posting dalam jenis posting acara ini, saya memiliki kotak metabox khusus dengan bidang khusus berikut:

  • kategori acara
  • tanggal mulai acara
  • waktu mulai acara
  • tanggal akhir acara
  • waktu akhir acara

Pada tingkat paling dasar saya hanya perlu setiap posting muncul di dalam kotak kalender yang berlaku berdasarkan "tanggal mulai acara" dan "waktu mulai acara" dan tautan ke halaman detail posting acara yang berlaku.

Dalam situasi yang ideal saya mencari untuk memiliki setiap kategori acara dengan warna sendiri dan memiliki setiap rentang acara beberapa hari jika acara yang berlaku memiliki "event_end_date" yang berbeda dari tanggal mulai.

Adakah yang pernah melakukan ini sebelumnya dan dapat melewati kode yang berlaku untuk mendapatkan salah satu dari ini di tempat. Saya merasa ini akan sangat berharga bagi komunitas WordPress juga.

3

FullCalendaradalah temuan yang bagus.

Sepertinya saya perlu menuliskode pendek(yang saya tunjukkan bagaimana melakukannya di sini):

Dan kemudian buat kode untuk memanggil FullCalendar dalam kode pendek .

Setelah itu, Anda harus menulis kode untuk menghasilkan array Javascript atau meminta referensi umpan JSON:

Berikut kode yang dapat Anda masukkan ke dalam file .PHP mandiri yang dapat Anda hubungi /fullcalendar-json-feed.php atau apa pun yang Anda suka. Kode tersebut menanyakan jenis tulisan khusus yang disebut event yang akan berjalan di direktori root situs web Anda dan akan menghasilkan umpan JSON dan mengasumsikan Anda memiliki bidang khusus yang diperlukan untuk mengisi array/feed . (Saya akan menyerahkan sisa kueri dan detail bidang khusus untuk Anda.CatatanSaya tidak benar-benar menguji ini dengan FullCalendar sehingga mungkin perlu sedikit penyesuaian) :

<?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;

Anda dapat menghasilkan opsi array dengan kode yang sangat mirip dengan yang di atas. Namun, ini akan membutuhkan sedikit pengkodean untuk Anda lakukan dengan benar. Mungkin Anda hanya ingin menggunakan solusi yang sudah dibangun? Inilah diskusi T&J tentang kalender untuk WordPress:

5
MikeSchinkel