我使用高级自定义字段插件和自定义帖子类型用户界面为我的用户提供了一些额外的功能。我遇到的问题是我已经设置了用户信息菜单,在列表视图中,所有新帖子都显示为自动草稿。反正我是否可以将字段slug公司名称作为列表视图的帖子标题?
我尝试了下面的代码,但它没有将公司名称更新为帖子标题,在自定义帖子页面中显示消息,如"您正在编辑显示最新帖子的页面。&# 34;
我的示例代码:
add_filter('title_save_pre', 'save_title');
function save_title() {
if ($_POST['post_type'] == 'users') : // my custom post type name
$new_title = $_POST['company_name']; // my custom field name
$my_post_title = $new_title;
endif;
return $my_post_title;
}
答案 0 :(得分:1)
使用name =" post_title"在您的输入。
<input type="text" name="post_title" id="meta-text" class="form-control" value="">
答案 1 :(得分:0)
这应该有效:
add_action( 'acf/save_post', 'save_post_handler' , 20 );
function save_post_handler( $post_id ) {
if ( get_post_type( $post_id ) == 'users' ) {
$title = get_field( 'company_name', $post_id );
$data['post_title'] = $title;
$data['post_name'] = sanitize_title( $title );
wp_update_post( $data );
}
}
答案 2 :(得分:0)
// Auto-populate artist post type title with ACF first name last name.
function nd_update_postdata( $value, $post_id, $field ) {
// If this isn't an 'artists' post type, don't update it.
if ( get_post_type( $post_id ) == 'artists' ) {
$first_name = get_field('first_name', $post_id);
$last_name = get_field('last_name', $post_id);
$title = $first_name . ' ' . $last_name;
$slug = sanitize_title( $title );
$postdata = array(
'ID' => $post_id,
'post_title' => $title,
'post_type' => 'artists',
'post_name' => $slug
);
wp_update_post( $postdata, true );
return $value;
}
}
add_filter('acf/update_value/name=first_name', 'nd_update_postdata',
10, 3);
add_filter('acf/update_value/name=last_name', 'nd_update_postdata', 10,
3);