0

我已經使用WordPress自定義文章類型創建了自己的活動日曆,並且需要使日曆可訂閱Google日曆和Mac OSX日曆應用。 Mac日曆工作正常,但Google有問題。從WordPress創建iCal訂閱鏈接自定義文章類型

我用這個網站的腳本爲基礎創建自己的腳本,它生成我的iCal文件:http://www.kanzaki.com/docs/ical/

http://www.noeltock.com/web-design/wordpress/how-to-ical-with-custom-post-types/

我已經通過這個網站試圖以確保我擁有所有必要的田地裏搜尋

我還將我生成的iCal文件與WP插件Events Calendar Pro生成的文件進行了比較。

當我點擊Mac絕對鏈接(使用webcal而不是http)時,它會啓動應用程序並在文件中加載事件。

當我點擊Google鏈接(使用/ render?cid = feed)時,它會打開一個標籤,詢問我是否要添加日曆。我點擊是,然後遇到一個錯誤,說我沒有訪問該日曆。

這是我生成的iCal文件的例子:

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Site Name//NONSGML Events //EN 
CALSCALE:GREGORIAN 
METHOD:PUBLISH 
X-WR-CALNAME:Site Name 
X-ORIGINAL-URL:Site URL 
X-WR-CALDESC:Site Description 

BEGIN:VEVENT 
DTSTART;VALUE=DATE-TIME:20140401T070000 
DTEND;VALUE=DATE-TIME:20140401T230000 
DTSTAMP:20140326T001707 
CREATED:20140103T041301 
LAST-MODIFIED:20140325T150531 
SUMMARY:April Fool's Day 
CLASS:PUBLIC 
DESCRIPTION:Blah blah blah 
END:VEVENT 

END:VCALENDAR 

有人可以告訴我,我缺少的是什麼?我已經爲此戰了兩週,我的客戶想要推出他的網站。先謝謝你!

回答

1

你正在設置標題?

header('Content-Type: text/Calendar'); 
header('Content-Disposition: inline; filename=calendar.ics'); 

對於Google,您可以構建查詢字符串鏈接。這是我如何做,它工作正常。

$google => array(
       'label' => 'Google', 
       'icon' => get_template_directory_uri() . '/images/common/ico_google.png', 
       'url' => 'http://www.google.com/calendar/event?action=TEMPLATE&trp=false' 
        . '&text=' . $title 
        . '&details=' . $description 
        . '&dates=' . $date_start->format($date_format) 
        . '/'   . $date_end->format($date_format), 
      ); 

<a href="<?php echo esc_url($google['url']) ?>" class="<?php echo esc_attr($google['url']) ?>" rel="external" target="_blank"> 
+0

是的,但是我使用的內容處置是附件。我嘗試將它切換到內聯,但它似乎沒有改變。是否區分大小寫? –

+0

其實你並不需要使用谷歌的ical文件。只需構建一個查詢字符串。查看更新的答案。 –

相關問題