2016-07-05 6 views
1

현재 사용자 이름으로 게시물을 저장하고 있습니다. 또한 배열 객체 인 $ganalytics_settings을 사용자 정의 필드의 게시물에 저장합니다. 다음 코드와 나는 특정 게시물 제목, 사용자 이름의 배열을로드하려고 그러나사용자 정의 필드에서 배열 읽기

function get_custom_field_for_current_user($customFieldName) { 

     $current_user = wp_get_current_user();   
     global $wpdb; 
     $id = $wpdb->get_row("SELECT ID FROM wp_posts WHERE post_title = '" . $current_user->user_login . "' && post_status = 'draft' && post_type = 'post' ", 'ARRAY_N'); 

     return get_post_meta((int)$id[0], $customFieldName); 
    } 

, 나는 다음과 같은 개체를 다시 얻고 대신

enter image description here

을 나는 것 다음을 다시 얻을 같은 :

enter image description here

어떤 제안을 내 기능을 제공하는 이유 배열에 배열을 다시 보냅니 까?

답장을 보내 주셔서 감사합니다.

답변

1

내가 당신을 이해 알고 있지만, 함수가 배열되는 최초의 키 배열을 반환하는 경우, 다음 단지 항상 첫 번째 키

function get_custom_field_for_current_user($customFieldName) { 

    $current_user = wp_get_current_user(); 
    global $wpdb; 
    $id = $wpdb->get_row("SELECT ID FROM wp_posts WHERE post_title = '" . $current_user->user_login . "' && post_status = 'draft' && post_type = 'post' ", 'ARRAY_N'); 

    $post_meta = get_post_meta((int)$id[0], $customFieldName); 

    return $post_meta[0]; 
} 
1

기능 get_post_meta을 반환하지 않는 다음과 같은 서명이 get_post_meta (int $post_id, string $key = '', bool $single = false) . $single이 false이면 반환 값은 배열입니다. $single이 참일 경우 메타 데이터 필드의 값이됩니다.

이 시도 :

function get_custom_field_for_current_user($customFieldName) { 

    $current_user = wp_get_current_user();   
    global $wpdb; 
    $id = $wpdb->get_row("SELECT ID FROM wp_posts WHERE post_title = '" . $current_user->user_login . "' && post_status = 'draft' && post_type = 'post' ", 'ARRAY_N'); 

    return get_post_meta((int)$id[0], $customFieldName, true); 
                 //^ Here to return single value 
} 
관련 문제