如何确定 wordpress 模板文件是通过自定义循环从外部还是内部访问的?
How to find out if a wordpress template file was accessed externally or internally via a custom loop?
是否有办法查明 wordpress 模板文件是从外部访问还是通过 wordpress 函数访问?
我有一个正在开发中的单页纸,它由多个单独的页面组成,这些页面通过中央前端组装成一个页面-page.php。
我想加载额外的东西,以防这些单一页面之一被外部访问(即不是通过我的 onepager 模板)。
在我的例子中,首页运行一个自定义循环,通过
加载主菜单中存在的所有项目
$template_part = get_post_meta($menu_item->object_id, '_wp_page_template', true);
include(locate_template($template_part));
每个页面都有一个自定义默认模板。
因此,如果直接访问这些页面之一(即不通过我的主单页前端-page.php),页面就会中断。有没有办法知道 page/template 是通过我的自定义循环调用的,还是通过外部访问子页面直接加载模板的?
非常感谢您的帮助!
好的。所以如果其他人正在搜索这个:我通过设置变量并将其从 front-page.php 传递到子模板部分来解决问题,我在其中检查变量 - 如果已设置,我假设该模板是从单页机调用的。如果没有,我重定向到主页。如果有更好的解决办法我还是很想知道的!
可以在此处找到将变量传递给模板的方法:https://www.wpastronaut.com/blog/passing-data-to-wordpress-template-parts/
是否有办法查明 wordpress 模板文件是从外部访问还是通过 wordpress 函数访问?
我有一个正在开发中的单页纸,它由多个单独的页面组成,这些页面通过中央前端组装成一个页面-page.php。
我想加载额外的东西,以防这些单一页面之一被外部访问(即不是通过我的 onepager 模板)。
在我的例子中,首页运行一个自定义循环,通过
加载主菜单中存在的所有项目$template_part = get_post_meta($menu_item->object_id, '_wp_page_template', true);
include(locate_template($template_part));
每个页面都有一个自定义默认模板。
因此,如果直接访问这些页面之一(即不通过我的主单页前端-page.php),页面就会中断。有没有办法知道 page/template 是通过我的自定义循环调用的,还是通过外部访问子页面直接加载模板的?
非常感谢您的帮助!
好的。所以如果其他人正在搜索这个:我通过设置变量并将其从 front-page.php 传递到子模板部分来解决问题,我在其中检查变量 - 如果已设置,我假设该模板是从单页机调用的。如果没有,我重定向到主页。如果有更好的解决办法我还是很想知道的!
可以在此处找到将变量传递给模板的方法:https://www.wpastronaut.com/blog/passing-data-to-wordpress-template-parts/