Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从URL获取部分PHP文件_Php_Wordpress_Sorting_Templates - Fatal编程技术网

从URL获取部分PHP文件

从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

是否可以从一个php文件中获取特定部分的代码。对于一个项目,我有12页模板。所以在WordPress中,当我创建一个新页面并想要选择一个页面模板时,一个长长的列表将在12个月内出现

这里有几个月的例子

所以问题是,是否可以将所有php代码放在一个页面模板中。当你转到一个特定的url时,它会根据php代码的这一部分查看域的末尾

例如:

www.domain.com/januari

从url/januari中获取部件
这里是一月

www.domain.com/februari

从url/februari中获取部件
这是二月

将来会有很多页面模板,所以看起来会很混乱。它应该是干净的,如果有一个页面模板“月”与所有内容在它。希望你能理解这个问题


谢谢

您可以使用全局
$\u服务器['REQUEST\u URI']
来识别用于访问PHP脚本的路径。然后,您可以根据
if
条件或
开关盒打印特定零件:

对于url
www.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;
    //...
}

但是请注意,对于URL
www.domain.com/januari?some=get¶ms
$\u服务器['REQUEST\u URI']
将是
/januari?some=get¶ms

,您可以使用全局
$\u服务器['REQUEST\u URI']
来确定用于访问PHP脚本的路径。然后,您可以根据
if
条件或
开关盒打印特定零件:

对于url
www.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;
    //...
}

但是请注意,对于URL
www.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的解决方案可能更干净。祝你好运;)谢谢你的帮助,我选择了朱娜