我使用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的值。