【问题标题】:How to change which page wordpress get_header() loads如何更改 wordpress get_header() 加载的页面
【发布时间】:2014-09-05 16:43:45
【问题描述】:

我正在尝试在另一个 php 文件中加载 Wordpress 页面。由于我已将 CodeIgniter 与 Wordpress 集成。

以下工作没有问题并加载 wordpress 网站。

get_header();
get_footer();

但是如何更改加载的页面而不是主页?

我只想调用 get_header() 和 get_footer wp 函数但想办法选择页面。

到目前为止,我已尝试更改 $wp_query 全局对象,但没有任何成功。

谢谢,

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    以下工作:

    $page_to_load = new WP_Query(array(
        'page_id' => $page_id
    ));
    
    global $wp_query;
    $wp_query = $page_to_load;
    wp();
    get_header();
    get_footer();
    

    这会在 $wp_query 对象中设置要加载的页面,然后您必须调用 wp() 才能重新加载页面并将其路由到该页面。

    【讨论】:

    • 我只需要补充一点,这与 Pagelines DMS 完美配合。
    【解决方案2】:

    因此您只想在某些页面上显示页眉和页脚。有2个功能,应该可以解决问题。

    第一个: is_front_page()

    这个只是测试,显示的页面是否是你的首页。你只需要像这样使用它:

    <?php
    echo is_front_page() ? "I'm a front page." : "This isn't a front page"
    ?>
    

    第二个:is_page()

    有多种方法可以使用此功能。第一个(没有任何参数)只是测试,是否是页面。如果请求的页面具有特定的 ID,则第二个(带有 ID)仅返回 true。第三个(带有 slug 或帖子标题)与第二个相同,只有这些参数。

    【讨论】:

    • 谢谢,但这不是我需要的。我在不同的文件中使用 get_header() 和 get_footer(),并且在每个文件上我想呈现不同的页面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多