Wordpress ACF get_field()没有返回值



我使用advanced custom field插件Wordpress。我在我的页面上显示field有困难。

基本上,我已经创建了一个字段组并将id's分配给该组的成员。然后,我使用get_field('field_name')函数将该字段的值存储在一个变量中,并将其echo显示在屏幕上。然而,这是返回false

我也试过使用the_field('field_name'),但这返回null。如果你试图访问Wordpress循环之外的字段,你必须将post id作为参数传递给get_field()/the_field()方法。

我试过了,结果还是一样的…有人知道是什么问题吗?

这是我的代码:

<?php get_header();
      $postID = get_the_ID();
      the_field('the-title', $postID); //Nothing being returned...
      die(); 
?>

如果在使用get_field()之前使用WP_Query(),则需要使用wp_reset_query()函数重置查询。我希望它能解决这个问题。

在循环外使用get_the_ID()

http://codex.wordpress.org/Function_Reference/get_the_ID

你可以试试:

global $post;
the_field( 'the-title', $post->ID );

但这取决于你在哪个页面。

这个在哪个模板文件中使用?

您需要创建一个循环,然后在该循环中可以检索数据。

<?php while( have_posts() ) : the_post() ?>
     <?php $variable = the_field('the-title'); ?>
<?php endwhile; ?>

我有这个问题。这是函数的格式:

function get_field( $selector, $post_id = false, $format_value = true ) {
  // ...
}

,我这样使用它:

get_field( 'event_date', false, false) {
  // ...
}

ACF还有一个功能

get_fields([$post_id], [$format_value]);

返回所提供ID的值。但如果我们只提供id默认情况下它会考虑post id

但如果你提供的ID不是帖子的ID而是用户,术语类别,评论和选项表的ID那么你必须像这样前缀:

// Get values from the current post.
$fields = get_fields();
// Get values from post ID = 1.
$post_fields = get_fields( 1 );
// Get values from user ID = 2.
$user_fields = get_fields( 'user_2' );
// Get values from category ID = 3.
$term_fields = get_fields( 'term_3' );
// taxonomy name.
$term_fields = get_fields( 'category_3' );
// Get values from comment ID = 4.
$comment_fields = get_fields( 'comment_4' );
// Get values from ACF Options page.
$option_fields = get_fields( 'options' );
// using 'option'.
$option_fields = get_fields( 'option' );

如官方文档

所述

当我必须在一个项目上工作时,我发现了这一点,我需要类别术语id的值。

相关内容

  • 没有找到相关文章

最新更新