所以我的问题是我刚刚创建了一个自定义帖子类型,并创建了几个帖子来配合这个。我在我创建的模板single-post_type.php中使用ACF字段。这些显示在单个帖子上很好,但我需要在单个帖子页面上显示的一些ACF字段值显示在自定义帖子索引上。我试过寻找答案,但似乎无法找到我正在寻找的东西。
供参考,以下是我注册自定义帖子类型的代码:
// Add new post type for Available Homes
add_action('init', 'available_homes');
function available_homes()
{
$available_homes_labels = array(
'name' => _x('Available Homes', 'post type general name'),
'singular_name' => _x('Available Home', 'post type singular name'),
'all_items' => __('All Available Homes'),
'add_new' => _x('Add New Listing', 'recipes'),
'add_new_item' => __('Add New Listing'),
'edit_item' => __('Edit Listing'),
'new_item' => __('New Listing'),
'view_item' => __('View Listing'),
'search_items' => __('Search in Available Homes'),
'not_found' => __('No listings found'),
'not_found_in_trash' => __('No listings found in trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $available_homes_labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => 20,
'supports' => array('title','editor','custom-fields'),
'has_archive' => 'available_homes'
);
register_post_type('available_homes',$args);
}
我在single-available_homes.php上有一些基本的ACF字段
然后我有一个名为archive-available_homes.php的页面,其中包含以下代码:
<?php get_header(); ?>
<h1 class="page-title">Available Homes</h1>
<div id="primary">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts('') ) : the_post(); ?>
<?php get_template_part( 'content', get_post_type() ); ?>
<?php endwhile; ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'twentyeleven' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyeleven' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
</div><!-- #content -->
</div><!-- #primary -->
<div class="widget_area">
<?php dynamic_sidebar("gravity_form_widget_area"); ?>
</div>
<?php get_footer(); ?>
ACF字段和其他所有内容在单个帖子上工作正常,但我不知道如何处理以在存档页面上显示ACF字段数据。帮助
答案 0 :(得分:3)
你可以使用我的插件ACF CPT Options Pages
答案 1 :(得分:2)
ACF字段必须在循环中。您的archive-available_homes.php
文件没有循环,它调用
<?php get_template_part( 'content', get_post_type() ); ?>
所以在content.php中你必须添加你想要渲染的字段。
否则,您可以创建自己的content-available_homes.php
文件并致电:
<?php get_template_part( 'content', 'available_homes' ); ?>
答案 2 :(得分:0)
您是否考虑过如何在其他网页上发布字段:http://www.advancedcustomfields.com/resources/how-to-get-values-from-another-post/
这可能就是你要找的东西。
答案 3 :(得分:0)
2020 -我已经在几分钟内使用此插件:https://wordpress.org/plugins/acf-archive/