在wordpress的高级自定义字段插件中获取页面链接对象的标题

时间:2014-03-20 06:32:33

标签: wordpress advanced-custom-fields

我正在使用Wordpress高级自定义字段插件的页面链接对象来提供指向我网站上内部页面的链接。我想要做的是能够将链接页面的标题显示为链接文本,将页面链接显示为href。

有没有办法只提取页面链接的标题?

由于

编辑:我链接的页面将动态更改我调用到特定页面的每个帖子,因此将页面ID硬编码到模板中不是一个选项。

2 个答案:

答案 0 :(得分:3)

编辑:以前的答案非常错误,抱歉!

我没有使用页面链接,而是使用了post对象。然后你可以做以下事情:

<?php
$post_object = get_field('field');
if($post_object) :
    $post = $post_object;
    // Overwrite $post
    setup_postdata( $post ); ?>
    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php
    // Reset $post so the rest of the page works
    wp_reset_postdata();
endif;

答案 1 :(得分:0)

我知道这是一个旧线程。但是在尝试了建议的解决方案后,在我的情况下失败了。我想分享自己的解决方案,以防万一。

我需要获取标题并链接到自定义帖子类型“ -single.php”模板中的ACF页面链接字段。但是我会不断收到错误和通知。

<?php if (get_field('procedure_links')) : ?>
<?php $procedure_links_items =  get_field( 'procedure_links', false, false); ?>
<?php foreach ( $procedure_links_items as $procedure_links_item ) { ?>
  <a href="<?php echo get_the_permalink($procedure_links_item); ?>" title="<?php echo get_the_title($procedure_links_item); ?>" class="button"><?php echo get_the_title($procedure_links_item); ?></a>
<?php } ?>

在get_field中添加“,false,false”仅返回帖子ID。 foreach显然是循环并回显所有值。 然后,仅以ID为参数使用WP“ get_the_permalink”和“ get_the_title”即可。

希望对您有帮助。