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文件。只需构建一个查询字符串。查看更新的答案。 –

相关问题