WordPress - 高级自定义字段 - 从内部循环中的另一个模板中提取数据

时间:2015-09-18 22:26:25

标签: php wordpress loops foreach advanced-custom-fields

有一点问题,我正在使用ACF for WordPress,我已经在服务模板上定义了颜色选择器,它用您选择的颜色对页面标题进行颜色编码。然后,此模板具有与另一个模板相关的页面链接:案例研究 - 案例研究模板有一个选择选项,您可以从服务中选择与案例研究相关的页面。我可以在案例研究模板上获取这些值。如何从服务页面获取颜色选择器值并将颜色应用于案例研究页面?这是我到目前为止所做的事情;

<div class="caseStudies">
    <h1 class="pageTitle uppercase"><?php echo the_title(); ?></h1>
    <div class="caseStudyIntro"><?php echo the_content(); ?></div>

    <?php
    foreach($caseStudyChildren as $caseStudies)
    {       
        $cStudyId           = $caseStudies->ID;                                         
        $cStudyThumbnail    = get_field("thumbnail_image", $cStudyId);
        $cStudyRelation     = get_field("case_study_relation", $cStudyId);
        $cStudyContent      = get_field("case_study_content", $cStudyId);
    ?>

    <div class="caseStudyItem">
        <div class="col-md-3 noPaddingLeft">
            <a href="<?php echo get_permalink($cStudyId); ?>">
                <img src="<?php echo $cStudyThumbnail['url']; ?>" alt="<?php echo $cStudyThumbnail['alt']; ?>" class="img-thumbnail cStudyThumb" />
            </a>
        </div>

        <div class="col-md-9 noPadding">
            <div class="content">
                <h1 class="title uppercase">
                    <a href="<?php echo get_permalink($cStudyId); ?>" class="dark-black">
                        <?php echo get_the_title($cStudyId); ?> <?php echo '- '.$cStudyRelation; ?>
                    </a>
                </h1>
                <div class="study">
                    <?php echo wp_trim_words($cStudyContent, 40, '...'); ?> 
                </div>                  
                <a href="<?php echo get_permalink($cStudyId); ?>" class="readMore red uppercase">Read More...</a>
            </div>
        </div>
    </div>

    <div class="clearfix"></div>

    <?php
    }/* foreach end */?>

</div>

这一行是我添加与案例研究相关的服务链接的地方(所以它几乎就像一个标签)

<?php echo get_the_title($cStudyId); ?> <?php echo '- '.$cStudyRelation; ?>

后端配置

servicesTemplate

CASESTUDYtEMPLATE frontendPage

希望有一定道理,如果不让我知道,我可以添加更多。这里的PHP新手让我很轻松,哈哈!

感谢。

1 个答案:

答案 0 :(得分:0)

管理最终解决这个问题。我现在已经与页面建立了关系,现在我已经在案例研究页面上的服务模板上定义了颜色自定义字段。

所以我在变量中定义了字段名称;

$cStudyRelationship = get_field("service_case_study_relationship", $cStudyId);

然后做了以下事情;

        $cStudyRelationshipId = '';
        $caseStudyTitleColor = '#000';
        if(isset($cStudyRelationship[0])){ 

            $cStudyRelationshipId = $cStudyRelationship[0]->ID; 

            $caseStudyTitleColor = get_field("case_study_title_colour",$cStudyRelationship[0]->ID);
            $caseStudyTitleColor = '#'.ltrim(trim($caseStudyTitleColor),'#');

        } ?>

因此,为在ACF中创建的颜色字段构建数组,然后根据案例研究与ID相关联来回显。希望有道理!你可以说,不是最好的解释东西。

拼图的最后一部分是将颜色值应用于页面关系页面标题;

<?php echo get_the_title($cStudyId); ?> <?php echo '- '?> <span class="colouredTitle" style="color:<?php echo $caseStudyTitleColor; ?>;"><?php echo ($cStudyRelationship[0]->post_title); ?></span>

感谢那些花时间为这个问题做出贡献的人。