如何用子页面及其关联的模板填充父页面

时间:2015-07-17 作者:I_CANT_EVE

我对Wordpress和Advanced Custom Fields插件有很好的理解,我现在正在尝试编写我的父页面模板,但我很难弄清楚如何让我的子页面出现在父页面中。

按照我的布局设置方式,我的父页面充满了一大堆不同的部分。每个部分在仪表板中创建为一个页面,并与自定义模板相关联。这些部分还在各自的布局中使用高级自定义字段。

我不知道如何显示这些部分。就个人而言,我可以很好地看到它们,并且所有内容的格式都正确(我的意思是转到仪表板中的子页面并查看它)。我还可以成功地将这些子模板包含在页面中。但是,不会显示子项中的自定义字段。

下面是我的子页面模板代码示例:

<?php
$post_id = $post->ID;

$bg_type = get_field("bg_type", $post_id);
$style = "";

if($bg_type == "bg-color"){
    $style = "background-color: " . get_field("bg_color", $post_id);
} elseif ($bg_type == "bg-img"){
    $url = get_field("bg_img", $post_id)["url"];
    $wp_index = strpos($url, "wp") - 1;
    $url = substr($url, $wp_index);

    $style = "background-image: url(\'" . $url . "\');";
    $style .= " background -repeat: no-repeat; height: 475px; background-size: cover; background-position: center;";
}

?>

<section style="<?php echo $style ?>">
<div class="container">
<div class="inner-container">

<h1><?php echo get_field("header", $post_id) ?></h1>
<h2><?php echo get_field("subheader", $post_id) ?></h2>

</div>
</div>
</section>
我尝试了不同的方法来加载子页面,现在已经设置好了

<?php
if ( $post->post_parent == 0) {
    $pages = get_pages(
        array(
            \'sort_column\' => \'menu_order\',
            \'hierarchical\' => 0,
            \'parent\' => $post->ID
        )
    );

    foreach ( $pages as $child_page ){
        $content = $child_page->post_content;
        echo $content;
    }
}
我不知道还能尝试什么,我已经在google上搜索了几个小时,没有什么进展。

1 个回复
SO网友:Chrisdigital

你应该看看档案。php。您要做的是在模板的不同部分创建自定义帖子类型循环(“页面”)。您必须按类别、分类法或标记进行筛选,以设置不同的分组。

http://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-post-types-archive-page-in-wordpress/

https://stackoverflow.com/questions/30883218/custom-post-type-wordpress-query-by-category

我想这就是我的意思:List all posts in custom post type by taxonomy

结束

相关推荐

如何用子页面及其关联的模板填充父页面 - 小码农CODE - 行之有效找到问题解决它

如何用子页面及其关联的模板填充父页面

时间:2015-07-17 作者:I_CANT_EVE

我对Wordpress和Advanced Custom Fields插件有很好的理解,我现在正在尝试编写我的父页面模板,但我很难弄清楚如何让我的子页面出现在父页面中。

按照我的布局设置方式,我的父页面充满了一大堆不同的部分。每个部分在仪表板中创建为一个页面,并与自定义模板相关联。这些部分还在各自的布局中使用高级自定义字段。

我不知道如何显示这些部分。就个人而言,我可以很好地看到它们,并且所有内容的格式都正确(我的意思是转到仪表板中的子页面并查看它)。我还可以成功地将这些子模板包含在页面中。但是,不会显示子项中的自定义字段。

下面是我的子页面模板代码示例:

<?php
$post_id = $post->ID;

$bg_type = get_field("bg_type", $post_id);
$style = "";

if($bg_type == "bg-color"){
    $style = "background-color: " . get_field("bg_color", $post_id);
} elseif ($bg_type == "bg-img"){
    $url = get_field("bg_img", $post_id)["url"];
    $wp_index = strpos($url, "wp") - 1;
    $url = substr($url, $wp_index);

    $style = "background-image: url(\'" . $url . "\');";
    $style .= " background -repeat: no-repeat; height: 475px; background-size: cover; background-position: center;";
}

?>

<section style="<?php echo $style ?>">
<div class="container">
<div class="inner-container">

<h1><?php echo get_field("header", $post_id) ?></h1>
<h2><?php echo get_field("subheader", $post_id) ?></h2>

</div>
</div>
</section>
我尝试了不同的方法来加载子页面,现在已经设置好了

<?php
if ( $post->post_parent == 0) {
    $pages = get_pages(
        array(
            \'sort_column\' => \'menu_order\',
            \'hierarchical\' => 0,
            \'parent\' => $post->ID
        )
    );

    foreach ( $pages as $child_page ){
        $content = $child_page->post_content;
        echo $content;
    }
}
我不知道还能尝试什么,我已经在google上搜索了几个小时,没有什么进展。

1 个回复
SO网友:Chrisdigital

你应该看看档案。php。您要做的是在模板的不同部分创建自定义帖子类型循环(“页面”)。您必须按类别、分类法或标记进行筛选,以设置不同的分组。

http://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-post-types-archive-page-in-wordpress/

https://stackoverflow.com/questions/30883218/custom-post-type-wordpress-query-by-category

我想这就是我的意思:List all posts in custom post type by taxonomy

相关推荐