有没有办法找出wordpress模板文件是从外部访问的,还是通过wordpress函数访问的?
我有一个正在开发的onepager,它由多个单独的页面组成,这些页面通过一个中央front-page.php组装成一个页面。
我想要加载额外的东西,以防这些单个页面中的一个被外部访问(即不是通过我的onepager模板)。
在我的例子中,首页运行一个自定义循环,通过以下方式加载主菜单中存在的所有项目
$template_part = get_post_meta($menu_item->object_id, '_wp_page_template', true);
include(locate_template($template_part));这些页面中的每个页面都有一个自定义默认模板。
因此,如果这些页面中的一个被直接访问(即不是通过我的主onepager front-page.php),页面就会断开。有没有办法知道页面/模板是通过我的自定义循环调用的,还是通过外部访问子页面直接加载的?
非常感谢任何可能的帮助!
发布于 2021-08-12 17:31:38
好的。因此,如果其他任何人正在搜索这个:我通过设置一个变量并将其从front-page.php传递到子模板部分来解决这个问题,在子模板部分,我检查该变量-如果设置了该变量,我假设该模板是从onepager调用的。如果没有,我会重定向到主页。如果有更好的解决方案,我还是想知道!
可以在这里找到将变量传递给模板的方法:https://www.wpastronaut.com/blog/passing-data-to-wordpress-template-parts/
https://stackoverflow.com/questions/68755165
复制相似问题