从URL获取部分PHP文件
是否可以从一个php文件中获取特定部分的代码。对于一个项目,我有12页模板。所以在WordPress中,当我创建一个新页面并想要选择一个页面模板时,一个长长的列表将在12个月内出现 这里有几个月的例子 所以问题是,是否可以将所有php代码放在一个页面模板中。当你转到一个特定的url时,它会根据php代码的这一部分查看域的末尾 例如: www.domain.com/januari 从url/januari中获取部件从URL获取部分PHP文件,php,wordpress,sorting,templates,Php,Wordpress,Sorting,Templates,是否可以从一个php文件中获取特定部分的代码。对于一个项目,我有12页模板。所以在WordPress中,当我创建一个新页面并想要选择一个页面模板时,一个长长的列表将在12个月内出现 这里有几个月的例子 所以问题是,是否可以将所有php代码放在一个页面模板中。当你转到一个特定的url时,它会根据php代码的这一部分查看域的末尾 例如: www.domain.com/januari 从url/januari中获取部件 这里是一月 www.domain.com/februari 从url/febr
这里是一月 www.domain.com/februari 从url/februari中获取部件
这是二月 将来会有很多页面模板,所以看起来会很混乱。它应该是干净的,如果有一个页面模板“月”与所有内容在它。希望你能理解这个问题
谢谢 您可以使用全局
$\u服务器['REQUEST\u URI']
来识别用于访问PHP脚本的路径。然后,您可以根据if
条件或开关盒打印特定零件:
对于urlwww.domain.com/januari
$\u服务器['REQUEST\u URI']
将是/januari
,对于www.domain.com/februari
将是/februari
,等等
switch($_SERVER['REQUEST_URI']) {
case '/januari':
//January code here
break;
case '/februari':
//February code her
break;
//...
}
但是请注意,对于URLwww.domain.com/januari?some=get¶ms
$\u服务器['REQUEST\u URI']
将是/januari?some=get¶ms
,您可以使用全局$\u服务器['REQUEST\u URI']
来确定用于访问PHP脚本的路径。然后,您可以根据if
条件或开关盒打印特定零件:
对于urlwww.domain.com/januari
$\u服务器['REQUEST\u URI']
将是/januari
,对于www.domain.com/februari
将是/februari
,等等
switch($_SERVER['REQUEST_URI']) {
case '/januari':
//January code here
break;
case '/februari':
//February code her
break;
//...
}
但是请注意,对于URLwww.domain.com/januari?some=get¶ms
$\u服务器['REQUEST\u URI']
将是/januari?some=get¶ms
,您可以使用它获取实际链接并将其切断
$actualLink=“$\u服务器[HTTP\u主机]$\u服务器[REQUEST\u URI]”;
$whatYouWant=substr($actualLink,strpos($actualLink,“/”)[1])代码>
但是为什么不使用美元呢 您可以使用获取实际链接并将其剪切
$actualLink=“$\u服务器[HTTP\u主机]$\u服务器[REQUEST\u URI]”;
$whatYouWant=substr($actualLink,strpos($actualLink,“/”)[1])代码>
但是为什么不使用美元呢 有很多方法可以解决这个问题。我的方法将允许您每个月保留单独的PHP文件,但只使用一个页面模板
假设page template month.php
是您的模板文件。您的月份特定文件具有以下结构
主题根目录/
-模板部件/
--january.php
--二月.php
…
现在,介绍获取特定查询项并围绕其构建逻辑的方法
使用获取\u ID()
上面的函数返回post/page ID,您可以围绕该ID构建逻辑
switch( get_the_ID() ) {
case 5:
// let's assume it's the page for January
get_template_part( 'template-parts/january' );
break;
case 18:
// let's assume it's the page for February
get_template_part( 'template-parts/february' );
break;
}
有很多方法可以解决这个问题。我的方法将允许您每个月保留单独的PHP文件,但只使用一个页面模板
假设page template month.php
是您的模板文件。您的月份特定文件具有以下结构
主题根目录/
-模板部件/
--january.php
--二月.php
…
现在,介绍获取特定查询项并围绕其构建逻辑的方法
使用获取\u ID()
上面的函数返回post/page ID,您可以围绕该ID构建逻辑
switch( get_the_ID() ) {
case 5:
// let's assume it's the page for January
get_template_part( 'template-parts/january' );
break;
case 18:
// let's assume it's the page for February
get_template_part( 'template-parts/february' );
break;
}
您不需要为此使用任何PHP方法 只需在Wordpress中使用页面Slug的概念即可 下面是给出当前打开页面的slug的代码
<?php
global $post;
$post_slug = $post->post_name;
switch ($post_slug) {
case 'january':
// page for January
get_template_part('template-parts/january');
break;
case 'februari':
// page for februari
get_template_part('template-parts/februari');
break;
... and so on
}
您不需要使用任何PHP方法
只需在Wordpress中使用页面Slug的概念即可
下面是给出当前打开页面的slug的代码
<?php
global $post;
$post_slug = $post->post_name;
switch ($post_slug) {
case 'january':
// page for January
get_template_part('template-parts/january');
break;
case 'februari':
// page for februari
get_template_part('template-parts/februari');
break;
... and so on
}
这被称为“路由”,可以通过URL重写来完成。您能提供处理URL更改的PHP文件并添加相关代码以查看您现在的位置吗?这被称为“路由”可以通过URL重写来完成。你能提供处理URL更改的PHP文件并添加相关代码以查看你现在的位置吗?我知道OP没有要求这样做,但如果他们是GTM跟踪器或任何类型的URL参数,这将不起作用。i、 e.example.com/一月?参考=so@Junaid正如我上次编辑时所说的。他仍然可以使用简单的php函数来过滤,但我会让OP自己来解决这个问题。谢谢你的帮助!我知道OP没有要求这样做,但如果他们是GTM跟踪器或任何类型的URL参数,这将不起作用。i、 e.example.com/一月?参考=so@Junaid正如我上次编辑时所说的。他仍然可以使用简单的php函数来过滤,但我会让OP自己来解决这个问题。谢谢你的帮助!谢谢,我想这对我来说是个完美的解决方案。它将所有文件分开并保持干净。非常感谢朱奈德@HesselvanderVeen很高兴能帮上忙。谢谢。我认为这对我来说是一个完美的解决方案。它将所有文件分开并保持干净。非常感谢朱奈德@HesselvanderVeen很高兴能帮忙。谢谢你的时间!谢谢你的时间!谢谢你的帮助,我选择了朱奈德的解决方案。不客气,但我认为PhilippMaurer的解决方案可能更干净。祝你好运;)谢谢你的帮助,我选择了朱娜