使用自定义帖子类型的标题列表作为 ACF 字段的值
Posted
技术标签:
【中文标题】使用自定义帖子类型的标题列表作为 ACF 字段的值【英文标题】:Use list of titles of custom post type as values for ACF field 【发布时间】:2018-06-30 13:19:15 【问题描述】:我想在我的 Wordpress 帖子中添加一个“帖子作者”选择选项。我不想在 Wordpress 中创建 30 个左右不同的用户,而是想用自定义帖子类型(员工)的所有标题填充 ACF 下拉选择字段。
我发现此代码用于输出自定义帖子类型标题列表...
// query for your post type
$post_type_query = new WP_Query(
array (
'post_type' => 'your-post-type',
'posts_per_page' => -1
)
);
// we need the array of posts
$posts_array = $post_type_query->posts;
// create a list with needed information
// the key equals the ID, the value is the post_title
$post_title_array = wp_list_pluck( $posts_array, 'post_title', 'ID' );
...我从一篇关于动态填充选择框的 ACF 文章中找到了这段代码...
function acf_load_color_field_choices( $field )
// reset choices
$field['choices'] = array();
// get the textarea value from options page without any formatting
$choices = get_field('my_select_values', 'option', false);
// explode the value so that each line is a new array piece
$choices = explode("\n", $choices);
// remove any unwanted white space
$choices = array_map('trim', $choices);
// loop through array and add to field 'choices'
if( is_array($choices) )
foreach( $choices as $choice )
$field['choices'][ $choice ] = $choice;
// return the field
return $field;
add_filter('acf/load_field/name=color', 'acf_load_color_field_choices');
...但是我真的不确定如何将两者拼接在一起,以便它获取我的自定义字段标题并将它们添加到该 ACF 字段选择器。
我尝试了,但无法显示任何结果。
有什么想法吗?
【问题讨论】:
使用 ACf,您可以创建一个类型为“relation”的字段,然后在下面选择自定义帖子类型。 【参考方案1】:感谢mmmm 的评论,我能够在 ACF 中使用“关系”字段类型来实现我想要的...这是我的代码,任何感兴趣的人都可以使用
'post-author'是ACF字段的名称,设置为relationship,在options中选择了自定义的post type'staff',所以我可以选择任意的staff。然后将它们与缩略图和职位名称一起输出到帖子中......
<?php
$posts = get_field( 'post-author' );
if ( $posts ): ?>
<?php foreach( $posts as $post): // variable must be called $post (IMPORTANT) ?>
<?php setup_postdata($post); ?>
<div class="author">
<?php the_post_thumbnail('small'); ?>
<div class="author-text">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
<p>
<?php the_field('job_title') ?>
</p>
</div>
<div class="clearfix"></div>
</div>
<?php endforeach; ?>
<?php wp_reset_postdata(); // IMPORTANT - reset the $post object so the rest of the page works correctly ?>
<?php endif; ?>
【讨论】:
以上是关于使用自定义帖子类型的标题列表作为 ACF 字段的值的主要内容,如果未能解决你的问题,请参考以下文章
从 Wordpress 中自定义帖子类型的类别中获取 ACF 文本字段值
在 Wordpress 中使用 ACF(高级自定义字段)显示自定义帖子标题的下拉菜单
按关系字段 (ACF) 的 Elementor 帖子的自定义查询过滤器
带有 ACF 日期字段的 WordPress 自定义帖子类型日历