当前位置: 首页 > 知识库问答 >
问题:

WordPress:如何链接ACF自定义文章类型到WordPress帐户

长孙鸿
2023-03-14

所以我有高级自定义字段链接到我的自定义帖子类型命名为:成员。我想链接成员字段到Wordpress用户与用户获得订阅者角色。

我的自定义帖子类型代码如下:

function init_members() {
    $labels = array(
        'name'               => 'Members',
        'singular_name'      => 'Member',
        'menu_name'          => 'Members',
        'name_admin_bar'     => 'Member',
        'add_new'            => 'New member',
        'add_new_item'       => 'New member',
        'new_item'           => 'New member',
        'edit_item'          => 'Edit member',
        'all_items'          => 'All members',
        'search_items'       => 'Search member',
        'not_found'          => 'No members found',
        'not_found_in_trash' => 'No members found in trash'
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'exclude_from_search' => true,
        'rewrite' => array('slug' => 'member'),
        'has_archive' => false,
        'supports' => array('title'),
        'show_in_rest' => true,
        'menu_icon' => 'dashicons-groups'

    );
    register_post_type('members', $args);
}
add_action('init', 'init_members');
function add_member_columns ( $columns ) {
    unset($columns['date']);
    return array_merge ( $columns, array (
        'contactperson'   => __ ( 'Contactperson' ),
        'phone_number'   => __ ( 'Phonenumber' ),
        'email'   => __ ( 'Email' ),
    ) );
}
add_filter ('manage_members_posts_columns', 'add_member_columns' );

function fill_member_columns ( $column, $post_id ) {
    switch ( $column ) {
        case 'contactperson':
            echo get_post_meta ( $post_id, 'contactperson', true );
            break;
        case 'phone_number':
            echo get_post_meta ( $post_id, 'phone_number', true );
            break;
        case 'email':
            echo get_post_meta ( $post_id, 'email', true );
            break;
    }
}
add_action ('manage_members_posts_custom_column', 'fill_member_columns', 10, 2 );

我已经在这里到处找过了,但是我没有找到任何关于这个的帖子。

共有1个答案

郁博学
2023-03-14

这里有一个答案。。。这将添加一个新用户。查看ACF时,ACF字段ID可用-

例如:

'fields' => array(
    array(
        'key' => 'field_5e592f61e1c2f',
        'label' => 'Contact Person',
        'name' => 'contactperson',

无论如何这很有效。。但您可能需要改进您的解决方案。

add_action( 'publish_members', 'so_member_add_60451627', 10, 2 );
function so_member_add_60451627($postid, $post){
    // fetch post data
    $name = sanitize_text_field($_POST['acf']['field_5e592f61e1c2f']); // ACF Field Key for name
    $phone = sanitize_text_field($_POST['acf']['field_5e592f6fe1c30']); // ACF Field Key for phone
    $email = sanitize_email($_POST['acf']['field_5e592f77e1c31']); // ACF Field Key for email

    // Create Userdata Array
    $userdata = array(
        'user_pass'     => wp_generate_password(),
        'user_login'    => $name,
        'user_nicename' => $name,
        'user_email' => $email
    );
    $user = wp_insert_user($userdata);

    // Set user meta field for phone depending on what you want it to be called
    update_user_meta($user, 'user_phone', $phone);
}
 类似资料:
  • 我有一个与自定义分类法(支持)相关的自定义帖子类型(问题) 在我的主题/分类中。php我有以下代码: 这意味着我针对“支持”分类法的特定模板文件。 在分类法模板文件中,我进行了自定义查询: 我有大约11篇文章,第1页显示了前5篇文章,但问题是没有显示分页。 有什么想法吗?非常感谢。

  • 我正在构建一个WordPress主题,其中的博客文章是使用一个自定义的文章类型标题为“博客” 博客页面位于http://website.com/blog/上,当发布“blogs”类型的文章时,它只发布到/blog/page上。我的问题是,当我单击一个博客标题来查看单个博客时,URL被重定向到http://website.com/post-title,而不是http://website.com/bl

  • 我使用ACF,有一个名为“关于”的页面模板,我的“关于我们”页面使用该模板。我还有一个主页模板,它使用我的“主页字段组”中的字段。我的“关于我们”页面显示“关于字段组”中的ACF字段以及我的“主页字段组”中的一些字段。 我从我的主页组通过引用以下php代码的ACF字段得到字段: 来自主页上的主页字段组,段落来自我的关于我们页面介绍字段,来自关于字段组。 我想做一些类似的事情,但从自定义帖子类型(不

  • 我已经注册了我的自定义帖子类型,但我想知道如何更改标题下方出现的“所有”的标签。 例如,在帖子类别中,我有“所有帖子”,对于媒体,我可以看到库...但是在我创建了我的自定义帖子类型后,我的“所有”条目与主条目具有相同的名称。 这是我创建的标签数组。 通过更改名称或Singular_name"Header"和"All"菜单项都会更改。我只能怀疑有一个标签不见了,但在这方面我找不到任何留档。 有什么帮

  • 我有两种自定义的帖子类型,例如“Cars”和“Bikes”。我使用Wordpress的默认类别对两种帖子类型中的帖子进行了分类。例如,假设类别为“红色”、“蓝色”和“黑色”。 我在这里试图实现的是,当我进入“红色”的分类页面时,我想看到“红色”下的“汽车”和“自行车”。我正在使用category.php,这是我试图运行的查询: 查询中的$cat获取“Red”类别的类别id。这两个查询都正确地按“红

  • 激活ACF到REST API,破坏WP REST API 如果我激活WP REST API,我可以检索数据:(目前在站点上都启用了,因此链接将显示错误) http://ecommerce-ux.london/wp-json/wp/v2/posts?slug=hello-world http://ecommerce-ux.london/wp-json/wp/v2/posts/1 当前错误响应是 上面