如何在单页上使用ACF Pro灵活内容?

时间:2018-03-13 21:43:59

标签: wordpress advanced-custom-fields

我正在开发一个内容灵活的网站。我基本上把它当作一个建设者。

我在页面部分,例如投资组合,我可以“添加行”。真棒!所有这些页面都使用page.php显示此代码:

<?php 

if( have_rows('template_blocks') ):

while ( have_rows('template_blocks') ) : the_row();

    if( get_row_layout() == 'header_page' ):
       get_template_part( 'templates/section', 'header-page' );

    elseif( get_row_layout() == 'header_main' ):
       get_template_part( 'templates/section', 'header-main' );

    elseif( get_row_layout() == 'services_excerpt' ):
       get_template_part( 'templates/section', 'services-excerpt' );

    elseif( get_row_layout() == 'contact' ):
       get_template_part( 'templates/section', 'contact' );

    elseif( get_row_layout() == 'services_tabs' ):
       get_template_part( 'templates/section', 'services-tabs' );

    elseif( get_row_layout() == 'standards' ):
       get_template_part( 'templates/section', 'standards' );

    elseif( get_row_layout() == 'contact' ):
       get_template_part( 'templates/section', 'contact' );

    elseif( get_row_layout() == 'footer' ):
       get_template_part( 'templates/section', 'footer' );

    elseif( get_row_layout() == 'bar_secondary' ):
       get_template_part( 'templates/section', 'bar-secondary' );

    elseif( get_row_layout() == 'process' ):
       get_template_part( 'templates/section', 'process' );

    elseif( get_row_layout() == 'empty_bar' ):
       get_template_part( 'templates/section', 'empty-bar' );

    elseif( get_row_layout() == 'form_section' ):
       get_template_part( 'templates/section', 'form-section' );

    elseif( get_row_layout() == 'callout' ):
       get_template_part( 'templates/section', 'callout' );

    elseif( get_row_layout() == 'ready_bar' ):
       get_template_part( 'templates/section', 'ready-bar' );

    elseif( get_row_layout() == 'portfolio_excerpt' ):
       get_template_part( 'templates/section', 'portfolio-excerpt' );

    elseif( get_row_layout() == 'services_card' ):
       get_template_part( 'templates/section', 'services-card' );

    elseif( get_row_layout() == 'about_author' ):
       get_template_part( 'templates/section', 'about-author' );

    elseif( get_row_layout() == 'work_featured' ):
       get_template_part( 'templates/section', 'work-featured' );

    elseif( get_row_layout() == 'work_all' ):
       get_template_part( 'templates/section', 'work-all' );

    elseif( get_row_layout() == 'work_tab' ):
       get_template_part( 'templates/section', 'work-tab' );

    elseif( get_row_layout() == 'action_block' ):
       get_template_part( 'templates/section', 'action-block' );
    endif;

endwhile; endif;
?>

但是,现在我创建了一个自定义帖子类型

自定义字段 - &gt; 在以下位置显示此字段组: 帖子类型[等于] [项目]

所以我继续创建一些项目。现在,在代码中,我得到了WP查询,所以我可以接受这些项目。

但是,现在我点击一个项目,它在哪里?它转到single.php页面!如何修改single.php页面?没有像普通页面那样的选项。

怎么说,为投资组合添加一个页面,并添加灵活的内容?

当然,我可以添加page.php中的相同代码,但那又是什么?我在哪里可以在WP管理仪表板中查看单页?

我知道这是可能的。

我一直试图解决这个问题一段时间了,我无法理解。

如果有帮助,这是github回购:https://github.com/AurelianSpodarec/aurelianMegaPortfolio2018

目前,我有:主页,服务,流程,关于,联系,投资组合。

所有人都在使用page.php,当我进入管理员仪表板页面时,我只是'添加行',这样我就可以为我提到的每一个页面实现独特的外观,除了{ {1}},因为如何为项目制作single.php?还是服务?

1 个答案:

答案 0 :(得分:0)

自定义帖子类型不使用page.php文件,默认使用single.php。您可以通过创建附加了自定义帖子类型名称的文件版本来指定唯一的文件模板,如下所示:single-{post-type-name}.php

在您的情况下,听起来像是single-projects.php

您可以使用page.php的副本创建此页面。

这是一个引用WordPress模板结构的链接。 https://developer.wordpress.org/themes/basics/template-hierarchy/