it-swarm-vi.tech

Đang tải các sự kiện loại bài đăng tùy chỉnh vào FullCalWiki dựa trên jQuery?

Đây là một câu hỏi tôi đã dành hơn 3 giờ để cố gắng giải quyết nhưng mỗi cách tiếp cận tôi thực hiện không mang lại kết quả cho tôi.

Tất cả những gì tôi đang cố gắng làm là sử dụng tập lệnh lịch ajax mã nguồn mở này:

và có các mục hiển thị tất cả các bài viết trong một loại bài cụ thể. Đối với mỗi bài đăng trong loại bài đăng sự kiện này, tôi có một metabox tùy chỉnh với các trường tùy chỉnh sau:

  • hạng mục sự kiện
  • ngày bắt đầu sự kiện
  • thời gian bắt đầu sự kiện
  • ngày kết thúc sự kiện
  • thời gian kết thúc sự kiện

Ở cấp độ cơ bản nhất, tôi chỉ cần mỗi bài đăng hiển thị trong hộp lịch áp dụng dựa trên "ngày bắt đầu sự kiện" và "thời gian bắt đầu sự kiện" và liên kết đến trang chi tiết bài đăng sự kiện.

Trong một tình huống lý tưởng, tôi đã tìm kiếm để mỗi loại sự kiện có màu riêng và mỗi sự kiện kéo dài nhiều ngày nếu sự kiện áp dụng có "event_end_date" khác với ngày bắt đầu.

Có ai đã làm điều này trước đây và có thể vượt qua mã áp dụng để có được một trong những mã này tại chỗ. Tôi cảm thấy điều này cũng rất có giá trị đối với cộng đồng WordPress.

3
NetConstructor.com

FullCalWikilà một kết quả tuyệt vời.

Có vẻ như tôi sẽ cần phải viếtmột shortcode(mà tôi chỉ cho bạn cách làm ở đây):

Và sau đó tạo mã để gọi FullCalWiki trong shortcode .

Sau đó, bạn sẽ cần viết mã để tạo một mảng Javascript hoặc để nó tham chiếu nguồn cấp JSON:

Đây là mã bạn có thể đặt vào một tệp .PHP độc lập mà bạn có thể gọi /fullcalendar-json-feed.php hoặc bất cứ thứ gì bạn thích. Mã truy vấn một loại bài đăng tùy chỉnh có tên event sẽ chạy trong thư mục gốc của trang web của bạn và sẽ tạo nguồn cấp JSON và nó giả sử bạn đã có một số trường tùy chỉnh cần thiết để điền vào mảng/nguồn cấp dữ liệu . (Tôi sẽ để lại phần còn lại của truy vấn và chi tiết trường tùy chỉnh cho bạn.Lưu ýTôi thực sự không kiểm tra điều này với FullCalWiki để có thể mất một chút điều chỉnh) :

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

Bạn có thể tạo tùy chọn mảng với mã rất giống với ở trên. Tuy nhiên, điều này sẽ mất một chút mã hóa để bạn làm đúng. Có lẽ bạn chỉ muốn sử dụng một giải pháp đã được xây dựng? Dưới đây là phần thảo luận về hỏi đáp về lịch cho WordPress:

5
MikeSchinkel