【发布时间】:2021-05-27 03:19:37
【问题描述】:
我在 Wordpress 上有一个网站,我想拥有完全可修改(样式等)的谷歌日历。
我用的是pp脚本(下)
<?php
$your_google_calendar="https://calendar.google.com/calendar/embed?src=c2hkshh3lilu6ig3p1899gonqc%40group.calendar.google.com&ctz=Europe%2FWarsaw";
$url= parse_url($your_google_calendar);
$google_domain = $url['scheme'].'://'.$url['host'];
// Load and parse Google's raw calendar
$dom = new DOMDocument;
$dom->loadHTMLfile($your_google_calendar);
// Create a link to a new CSS file called schedule.min.css
$element = $dom->createElement('link');
$element->setAttribute('type', 'text/css');
$element->setAttribute('rel', 'stylesheet');
$element->setAttribute('href', 'schedule.min.css');
// Change Google's JS file to use absolute URLs
$scripts = $dom->getElementsByTagName('script');
foreach ($scripts as $script) {
$js_src = $script->getAttribute('src');
if ($js_src) {
$parsed_js = parse_url($js_src, PHP_URL_HOST);
if (!$parsed_js) {
$script->setAttribute('src', $google_domain . $js_src);
}
}
}
// Append this link at the end of the element
$head = $dom->getElementsByTagName('head')->item(0);
$head->appendChild($element);
// Remove old stylesheet
$oldcss = $dom->documentElement;
$link = $oldcss->getElementsByTagName('link')->item(0);
$head->removeChild($link);
// Export the HTML
echo $dom->saveHTML();
?>
我已经(使用 Elementor)在我的网站上放置了一个 html 代码:
<iframe style="border-width: 0;" src="./wp-content/themes/neve/calendar.php" width="560" height="400" frameborder="0" scrolling="no"></iframe>
在此站点被设置为草稿之前,一切正常。当我点击发布按钮时,我遇到了错误,好吧,也许不是错误,但我没有将谷歌日历加载为我网站的一部分,而是从我的 wordpress 网站获得了默认的“找不到页面”屏幕。
有没有人知道发布后发生了什么,该网站无法正常工作? 如果我返回草稿,网站将再次正常工作。
我的 php 脚本和 css 文件位于:./wp-content/themes/neve/ 文件夹中。
编辑编辑编辑
我项目中的 .css 示例,向您展示“完全可修改”的含义。
.view-container-border {
background: transparent;
}
.view-cap {
background: transparent;
}
.mv-event-container {
border-top: 1px solid black;
}
.mv-daynames-table {
color: black;
background: transparent;
text-transform: uppercase;
}
.st-dtitle {
background: #EAEAEA;
text-align: center;
}
.st-bg-today, .st-dtitle-today {
background: #EAEAEA;
border: none;
text-align: center;
}
【问题讨论】:
-
什么是完全可修改的?您希望将您的谷歌日历嵌入到您的页面中,并使用您分配的任何参数(CSS、Google 等)?
-
是的,当我在设置为草稿的页面上实现上述解决方案时,我可以借助 css 文件更改所有元素。我在主帖中添加了我的示例的 .css 代码。
-
您是否会在
functions.php中包含您将CSS 排队的顺序?也许这种排序或缓存会导致您的问题...... -
我根本没有更改functions.php。我刚刚添加了新文件 calendar.php 并将其放入我的页面代码中。
标签: php html wordpress calendar