允许 Wordpress 用户从他们的用户个人资料上传和设置帖子图片

问题描述

我有一个由 WP Store Locator 插件创建的自定义帖子类型。我在帖子(商品详情)中添加了元字段以将其链接用户,以便用户可以编辑某些字段(如果他们拥有商店)。这对除媒体外的所有领域都有效。我对如何实现这一点感到有些困惑,因为媒体 postMeta(来自帖子的特色图像或只是自定义图像字段)有自己的链接附件元数据。

我希望用户能够从他们的用户个人资料页面编辑/上传他们自己的特色图像或图像(作为自定义元字段)并将其保存到相关帖子。我能够获取帖子 ID 并保存文本字段,但无法将图像保存/关联到帖子。

如果可能,我想使用 wordpress 媒体上传功能,以方便用户使用。

这是我目前的功能

function tpo_save_extra_register_select_field_admin( $customer_id ){ 
    $userid = get_current_user_id();
    global $wpdb;
    
    //get array of all the post_ids where the wpsl_store_owner_id Meta matches the current users ID
    $store_owners_post_ids = $wpdb->get_results( "SELECT post_id FROM wp_postMeta WHERE Meta_key = 'wpsl_store_owner_id' AND Meta_value = $userid");
 
    foreach ( $store_owners_post_ids as $store_owners_post_id ) {
            $store_id = $store_owners_post_id->post_id;
        
            //set a dynamic input id for each field to be updated
            $input_id = 'price_per_litre'.$store_id ;
            $input_id_name = 'store_name'.$store_id ;
            $input_id_address = 'store_address'.$store_id ;
            $input_id_pictures = 'pictures'.$store_id ;

                //if its set then save it
                if ( isset( $_POST[$input_id] ) ) {
                    update_post_Meta( $store_owners_post_id->post_id,'wpsl_price_per_litre',$_POST[$input_id] );
                }  
                if ( isset( $_POST[$input_id_name] ) ) {
                    $content = array(
                    'ID' => $store_id,'post_title' =>  $_POST[$input_id_name]
                    );
                    wp_update_post($content) ;               
                }  
                if ( isset( $_POST[$input_id_address] ) ) {
                    update_post_Meta( $store_owners_post_id->post_id,'wpsl_address',$_POST[$input_id_address] );
                } 
                //DO SOMETHING HERE TO UPLOAD AN IMAGE AND LINK TO post_id
                if ( isset( $_POST[$input_id_pictures] ) ) {
                    update_post_Meta( $store_owners_post_id->post_id,'wpsl_pictures',$_POST[$input_id_pictures] );
                }  
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)