我正在尝试将一个php文件分配给一个特定的页面?
我有modals存储在不同的文件中,希望在调用指定页面时加载它们。这些页面使用相同的主题;投资组合;。
如果我这样做:
<?php $id="page-id-8229"; include \'/modals/work/cplfModals.php\';?>
对于公文包模板中的每个文件,每个页面仍将加载所有分配的modal,而不仅仅是我尝试分配给该页面的modal。
有没有办法试试这个functions.php
?
编辑:很抱歉我不清楚,所以我会显示页面。
下面是带有图像按钮的公文包页面示例:sample portfolio page.抱歉,如果您无法查看该链接,它仍在服务器上,尚未启动。
所有;“工作”;页面将保留模式按钮。所有这些页面都将是同一页面模板的副本。因此,如果有一堆模态挂在我的标题中,那么负载就不会受到影响,我认为将模态正确地编目并仅在需要时调用会很好,有点像数据馈送(我想象)。
在我的主题中,有一个名为“em”的文件夹;情态动词对于此页面,我们需要调用/modals/work/thunderModals.php
对于page-id-1270
.
我还没有实施最后2条建议,但我将开始实施。感谢所有在这方面提供帮助的人。非常感谢您抽出时间。
因此,我通读了wp层次结构,并在那里寻找如何正确地瞄准蛞蝓,我发现:
<?php echo get_page_template_slug( $post->ID ); ?>
我回到我的
portfolio.php
模板(这是我所有工作/子页面的shell)。因此,我附加了一个“include”。现在我有了这样的东西:
<?php get_page_template_slug(\'page-id-1270\'); include \'/modals/work/thunderModals.php\';?>
似乎很有效,所以我在其他页面上又添加了几行。
But 当我找到另一个
portfolio.php
-主题页面,我可以看到所有的情态动词都被加载了,包括其他页面的情态动词。
New question:Can this line of code be modified so that the files will remain specific to their page?
SO网友:Filcp
如果我对您的理解正确,一个好的解决方案是使用页面slug检查您所在的页面,然后包含所需的文件。你可以在你的主题功能上这样做。php或插件,这取决于您想要实现什么。为此,可以使用以下脚本:
if (is_page(\'slug_of_the_page\')) {
include \'path-to-the-file\';
}
现在,如果您真的想通过其ID来定位页面,那么可以创建一个函数,该函数使用您正在使用的页面模板中的动作挂钩,甚至可以在那里添加您自己的动作挂钩。然后使用
$wp_query
并使用switch语句检查id是否是您想要的id,并包括该文件。请参见以下脚本:
function add_specific_page_file() {
global $wp_query;
switch ($wp_query->post->ID) {
case \'page_id\':
include \'path-to-the-file\';
break;
case \'another_page_id\':
include \'path-to-another-file\';
break;
case \'one_more_page_id\':
include \'path-to-one-more-file\';
break;
}
}
add_action( \'my_action\', \'add_specific_page_file\' );
[编辑]您可以将is\\U页面与前面的功能集成,并使用
init 操作钩子,在WordPress完成加载后但在发送任何头之前激发。
function add_specific_page_file() {
if (is_page(\'slug_of_the_page\')) {
include \'path-to-the-file\';
} elseif (is_page(\'another_page_slug\')) {
include \'path-to-another-file\';
}
}
add_action( \'init\', \'add_specific_page_file\' );