在活动日历插件中使用Timber与更新的日历设计



我正在使用基于Timber主题的Wordpress事件日历插件。我目前正在使用一种以前记录的方法进行集成,它在这里:

https://theeventscalendar.com/support/forums/topic/events-pages-not-showing-up-in-timber-based-theme/

自从插件的v5版本以来,有一个选项[也设置为默认值],它使用了更新的日历和事件设计,打破了我目前的集成方法。我曾尝试更新我的模板PHP文件,但收效甚微。

使用Timber中的function((方法调用相对简单的遗留函数有:

<?php tribe_events_before_html(); ?>
<?php tribe_get_view(); ?>
<?php tribe_events_after_html(); ?>

https://timber.github.io/docs/guides/functions/

然而,在v5中添加到事件日历的v2模板中,它们正在调用一个类,例如:

use TribeEventsViewsV2Template_Bootstrap;
get_header();
echo tribe( Template_Bootstrap::class )->get_view_html();
get_footer();

我遇到的主要问题是,我不确定如何将这个类暴露在Timber上下文中。如果有人能帮我掌舵,我将不胜感激。我现在的功能很好,但tribe_get_view函数已被弃用,并被认为是遗留的,所以它不会永远存在,所以我需要想出某种解决方案。

谢谢!

没错,所以我发布的方法根本不再需要,也不是一个解决方案。只要确保你有一个页面插件.twig模板可用。希望这能帮助其他最终陷入兔子洞的人。。。。。

为了澄清,timber/starter-theme中有一个变通方法,它涉及多个文件,包括一个"page-plugin.titch"模板。不要只是添加一个"页面插件.titch"模板,并期望它能修复它。

劫持主题的第三方插件将调用wp_head((以获取标头模板。我们使用它来启动输出缓冲区并渲染进入footer.php 中的view/page-plugin.twig模板

转到此处https://github.com/timber/starter-theme.

将header.php、footer.php和page-plugin.twig复制到您的主题中,并为您自己的网站进行自定义。

此处记录的方法:https://mcintosh.io/using-the-events-calendar-plugin-with-timber-and-twig/

为我工作。你创建了一个默认的模板文件和一个匹配的树枝模板:

[your theme]/tribe/events/v2/default-template.php
[your theme]/[your twig template directory]/events.twig

default-template.php文件包含以下行:

$context['tribe_markup'] = tribe( Template_Bootstrap::class )->get_view_html();

它可以在events.trick模板中像这样呈现:

<div class="events-container">
{{tribe_markup}}
</div>

请注意,您将需要选择";为所有日历视图启用更新的设计";在events > settings > display

我认为默认样式表可能需要div.events-container,但还没有进行其他测试。

最新更新