我使用AFC设置了Wordpress,并且创建了两个转发器字段,这些字段已包含在页面中。在标题中,我有一个repeater字段来显示旋转木马滑块。然后在标题下方,我将页面内容包含在基本div中。我已将masthead.php添加到get_header()
下方的front-page.php中。
由于某种原因,我仅在加载页面时才获得标题。标头标签下面的所有内容都会消失。但是,当我注释掉include函数以将front-page.php上的masthead.php插入时,我的主要内容显示出来,但是当然没有标题。似乎存在某种冲突。
我检查了我的php_error.log,它给了我:
PHP解析错误:语法错误,出现意外的“ <” [folder_structure] /masthead.php,第64行
我已经检查并再次检查了我的AFC字段,以确保它不是拼写错误,或者我没有遍历正确的内容。但这对我来说很好。
下面的MASTHEAD.PHP
<header>
<?php
$defaults = array (
'theme_location' => 'main-navigation',
'menu_class' => 'no-bullet',
'container' => false
); ?>
<nav class="main-header-nav">
<img src="<?php echo get_template_directory_uri();?>/icons/Hilton-logo.svg" alt="Hilton Logo" class="header-logo">
<?php wp_nav_menu($defaults); ?>
</nav>
<?php if( have_rows('header_carousel') ): ?>
<?php while( have_rows('header_carousel') ): the_row();
// vars
$mastHeadImages = get_sub_field('mast_head_images');
?>
<h3 class="header-text tagline"></h3>
<h1 class="header-text"></h1>
<?php
if( $mastHeadImages ): ?>
<div class="cycle-slideshow carousel-container" data-cycle-fx="scrollHorz" data-cycle-timeout="0" data-cycle-prev="#prev" data-cycle-next="#next" data-cycle-caption=".carousel-counter" data-cycle-caption-template="<span class='bigger'>{{slideNum}}/ </span> <span class='smaller'>{{slideCount}}</span>">
<div class="cycle-caption"></div>
<?php $i = 0; ?>
<?php foreach( $mastHeadImages as $image ): $imageURL = $image['url']?>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" class="carousel-container__img carousel-img-<?php echo $i; ?>" />
<?php $i++; endforeach; ?>
<div class="masthead_overlay"></div>
</div>
<div class="center carousel-control-container">
<a href="#" id="prev">
<span class="icon-arrow-left"></span>
</a>
<a href="#" id="next">
<span class="icon-arrow-right"></span>
</a>
<div class="carousel-counter">
</div>
</div>
<?php endif; endwhile; endif; ?>
</header>
下面的FRONT-PAGE.PHP
<?php include('masthead.php'); ?>
<div id="main" role="main">
<?php if( have_rows('flexible_content') ): ?>
<?php while( have_rows('flexible_content') ): the_row();
// vars
$mainContentImage = get_sub_field('main_content_image');
$asideContentImage = get_sub_field('aside_content_image');
$mainContentText = get_sub_field('main_content_text');
$asideContentText = get_sub_field('aside_content_text');
$CTALink = get_sub_field('cta_link');
$CTAText = get_sub_field('cta_text');
?>
<main id="main-content-container">
<!-- main content start-->
<div class="main-content" style="background-image: url(<?php echo $mainContentImage['url']; ?>)">
<div class="main-content-text">
<h3>
<?php echo $mainContentText; ?>
</h3>
<p>
Sub Text
</p>
<?php if($CTALink) :?>
<a href="<?php echo $CTALink; ?>" class="main-cta-btn">
<?php echo $CTAText; ?>
</a>
<?php endif;?>
</div>
</div>
<!-- main content end -->
<!--Aside content start-->
<div class="aside-content" style="background-image: url(<?php echo $asideContentImage['url']; ?>)">
<h2 style="color: #fff;"><?php echo $asideContentText; ?></h2>
</div>
<!--Aside content end-->
</main>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_footer();?>
如果我没有提供足够的信息,请告诉我。这只是一个本地项目。
答案 0 :(得分:0)
因此,下面的代码本质上仅是对您的代码的轻微修改。我注意到您正在将get_sub_field('mast_head_images');
的值传递给foreach
,如果您想识别键然后使用图像对象的值,或者如果您使用Gallery作为上述重复的字段类型,则可以字段(我怀疑是这种情况)。
在这种情况下,此代码应该有效。
<header>
<?php
$defaults = array (
'theme_location' => 'main-navigation',
'menu_class' => 'no-bullet',
'container' => false
); ?>
<nav class="main-header-nav">
<img src="<?php echo get_template_directory_uri();?>/icons/Hilton-logo.svg" alt="Hilton Logo" class="header-logo">
<?php wp_nav_menu($defaults); ?>
</nav>
<?php if( have_rows('header_carousel') ): ?>
<?php $i = 0; ?>
<?php while( have_rows('header_carousel') ): the_row();
// vars
$mastHeadImages = get_sub_field('mast_head_images');
?>
<h3 class="header-text tagline"></h3>
<h1 class="header-text"></h1>
<div class="cycle-slideshow carousel-container" data-cycle-fx="scrollHorz" data-cycle-timeout="0" data-cycle-prev="#prev" data-cycle-next="#next" data-cycle-caption=".carousel-counter" data-cycle-caption-template="<span class='bigger'>/ </span> <span class='smaller'></span>">
<div class="cycle-caption"></div>
<img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" class="carousel-container__img carousel-img-<?php echo $i; ?>" />
<?php $i++;?>
<div class="masthead_overlay"></div>
</div>
<div class="center carousel-control-container">
<a href="#" id="prev">
<span class="icon-arrow-left"></span>
</a>
<a href="#" id="next">
<span class="icon-arrow-right"></span>
</a>
<div class="carousel-counter">
</div>
</div>
<?php endwhile;
endif; ?>
</header>
但是,如果您使用Gallery作为字段类型,那么我的假设是错误的,并且您的代码没有我可以看到的错误。