显示帖子标题与变量匹配的特定帖子的自定义字段

时间:2017-07-03 作者:Amesey

我有一个自定义的帖子类型,叫做vacancies 还有一个电话our_homes

如何从中获取google地图坐标our_homes 并显示在vacancies 单个帖子模板?

我在下面的尝试显示了我在单个空缺中的悲惨尝试。php文件:

 <?php 
    //Query custom post type our_homes and display tabs for each
    $query = new WP_Query( array( \'post_type\' => \'our_homes\', \'field\' => \'slug\', \'posts_per_page\' => 999 ) ); 

    if ( $query->have_posts() ) : 

    //$count = 1;
    //$title = the_title();
    //$location = get_field(\'google_map_coordinates\');

    ?>
    <?php while ( $query->have_posts() ) : $query->the_post(); 
        $location = get_field(\'google_map_coordinates\', post_title);
    ?>  
    <?php if($title = $label) { echo $title; }

        //echo $label;


     ?>

    <?php endwhile; wp_reset_postdata(); ?>

<?php endif; ?>

2 个回复
SO网友:Johansson

虽然您的问题令人困惑,但根据您的尝试,我可以说您正在另一个循环中使用一个循环。您应该将主循环的标题数组存储在一个数组中,然后编写另一个循环outside 原始循环并检查阵列。

因此,这就是您的主查询的样子(我对其进行了总结并删除了实际的循环):

if(have_posts()){
    // Define an empty array
    $posts_title = array();
    while(have_posts()){
        // Store each title inside the array
        $posts_title[] = get_the_title();
    }
}
现在,您有了一系列帖子标题。在主查询完成并关闭后写入此查询:

$query = new WP_Query( 
    array( 
        \'post_type\' => \'our_homes\',
        \'posts_per_page\' => -1 
    ) 
); 
if ( $query->have_posts() ) { 
$count = 0;
    while ( $query->have_posts() ) { 
    $query->the_post(); 
        $count++;
        // Check if this post\'s title matches the $label
        if( in_array( get_the_title(), $posts_title )) {
            // Do whatever you want
            the_title();
        }
    }
}
wp_reset_postdata();
此外,如果需要通过标题获取帖子或页面的ID,可以使用get_page_by_title(\'TITLE HERE\') 作用

SO网友:Cesar Henrique Damascena

尝试在循环内部执行此操作

$location = get_field(\'google_map_coordinates\', get_the_ID);
参见参考ACF Documentation

结束