2012-04-19 6 views
0

내 사용자 정의 게시 유형에서 사용자가 게시물을 저장하면 필드 중 하나의 값을 확인하고 업데이트하는 방법이 있습니까? 삽입 할 값은 게시물의 ID에 따라 달라 지므로 새 게시물 인 경우 save_post을 사용해야합니다.save_post 이후 사용자 정의 필드 수정

+0

어쩌면 내가 오해 한 것일 수 있습니다. ood 뭔가하지만 대답은 귀하의 질문에있는 것처럼 들리 네요. – Rob

+0

죄송 합니다만'add_action'을 사용하여 로프를 배우려고합니다. 다음 번에 내가 작업 할 수있는 다른 사용자를 게시 할 수 있습니다. – enchance

답변

1

예는 $_POST 또는 global $post에서 모든 데이터를 가질 수 후 저장하거나 업데이트 당신은 custom field을 언급 한 후 using save_post hook as you mentioned in your question

add_action('save_post', 'afterSavePost'); 
function afterSavePost($pid) 
{ 
    $postId=$pid; 
    // or 
    global $post; 
    $postId=$post->ID; 
    $postTitle=$post->post_title; 
    // or 
    $postId=$_POST['ID']; 
    $postTitle=$_POST['post_title']; 
} 

을 그 경우 당신이

$yourCustomField=get_post_meta($postId, 'your_custom_field',true); // get a custom field 

을 사용할 수 있습니다
$yourCustomField="New value"; 
update_post_meta($postId, 'your_custom_field', $yourCustomField); // update a custom field 
+0

'add_action'을 사용하여 머리를 쓰려고하는데, $ _POST는 쓸모가 없으므로 수정하지 않습니다. 폼이 이미 db에 저장 되었기 때문입니까? – enchance

+0

죄송합니다! 네가 물어 본 것을 이해하지 못했다. –

+0

'get_post_meta()'는 처음에 게시물을 만들 때 제출 된 사용자 정의 필드를 반환하지 않지만 게시물을 업데이트 할 때 나타납니다. 저에게는 조금 놀랍습니다. 게시물이 처음 생성 될 때 이런 종류의 문제를 처리하기위한 다른 조치가 있는지 궁금합니다. – Jason