2016-04-13 56 views
0

我创建了一个ACF选项页面,一切顺利。我创建了一些自定义字段,再次一切顺利。我还在田野里保存了数据,一切都很顺利。获取价值选项页面ACF

我查看了数据库,它保存在wp_options下,所以一切都很顺利。

现在我不想在后端的php脚本中获取值。

假设我的字段名称是field_name

我用get_field('field_name', 'option');,它没有给我任何东西。

我也试过get_fields(); - 这给了我这样的选项字段的数组:

array(3) { 
    ["field_name"]=> array(0) { } 
    ["field_name1"]=> bool(false) 
    ["field_name2"]=> string(0) "" 
} 

所以,不知何故值是空的。

我再次检查了数据库,但他们在那里。

$field = get_field_object('field_879e859f07841'); 
var_dump(get_post_meta ($field['key'], 'field_name')); 

这给出了相同的空数组..

我不知道这一点。

有人可以帮助确定发生了什么?

回答

1

如果有人有相同的问题这个问题通过增加wp_reset_query:

<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?> 

...每个循环之后。例如:根据wp_reset_query它似乎WordPress的鼓励使用不同的方法,以便有一个页面的读取第一

// Display ACF content for category a 
<?php the_field('category_title_a'); ? 
<?php the_field('category_content_a'); ?> 

// Display posts from category a 
<?php $my_query = new WP_Query('category_name=cat-name'); 
while ($my_query->have_posts()) : $my_query->the_post(); ?> 
//extra stuff here 
<?php endwhile; ?> 

<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?> 

+0

我想获得后端PHP脚本中的选项字段,所以没有其他查询。 – Floeske

1

请检查ACF Get values

要显示的字段:

<p><?php the_field('field_name', 'option'); ?></p> 

要检索字段作为变量:

<?php 

$variable = get_field('field_name', 'option'); 

// do something with $variable 

?> 
0

这是很久以前的事,因为我问这个问题。我正在使用我喜欢的Timber插件!

你可以在标准的PHP文件中的值是这样的:

$context['site_copyright_info'] = get_field('copyright_info', 'options'); 
Timber::render('index.twig', $context); ' 

插件呈现一个.twig页面,您可以轻松地使用的值是这样的:

<footer>{{copyright_info}}</footer> 

感谢贡献全部!