链接到关系帖子

时间:2016-03-28 18:01:18

标签: php wordpress advanced-custom-fields

我正在安装高级自定义字段的WordPress网站上工作。其中一页显示了乐队的发行。我为发布创建了一个自定义帖子类型,为歌词创建了一个。该版本具有一个名为'tracklist'的灵活内容字段。此字段有一个名为'tracks'的布局,其中一行包含两个名为'trackname'(文本)和'lyrics'(关系)的字段。 'lyrics'已被设置为最多一个帖子,因此您只能选择该特定歌曲的歌词。

我如何从这个名为'lyrics'的关系字段中获取链接?

这是我到目前为止的代码,但当然$lyrics包含一个数组,所以它不会起作用:

// check if the flexible content field has rows of data
if( have_rows('tracklist') ):

    $x = 1;
    echo '<p class="tracklist">';
     // loop through the rows of data
    while ( have_rows('tracklist') ) : the_row();

        if( get_row_layout() == 'tracks' ):
            $trackname = get_sub_field('trackname');
            $lyrics = get_sub_field('lyrics');

            echo '<strong>'.$x.'</strong> '.$trackname.' <a href="'.$lyrics.'">(lyrics)</a><br />';
        endif;
        $x++;

    endwhile;

    echo '</p>';


endif;

从插件的website,我找到了这段代码。但是,有一种更容易的方式,因为只有一种关系吗?

<?php 

$posts = get_field('relationship_field_name');

if( $posts ): ?>
    <ul>
    <?php foreach( $posts as $p ): // variable must NOT be called $post (IMPORTANT) ?>
        <li>
            <a href="<?php echo get_permalink( $p->ID ); ?>"><?php echo get_the_title( $p->ID ); ?></a>
            <span>Custom field from $post: <?php the_field('author', $p->ID); ?></span>
        </li>
    <?php endforeach; ?>
    </ul>
<?php endif; ?>

0 个答案:

没有答案