2016-11-09 1 views
-1

속성을위한 사용자 정의 포스트 유형과이를 제출하기위한 프론트 엔드 양식이 있습니다. wp_posts에있는 post_typeproperty입니다.Wordpress는 포스트 생성 후 포스트 메타를 수정합니다.

wp_postmeta 테이블에 REAL_HOMES_property_id이라는 메타 키가 있습니다. 현재 이것은 사용자 입력을 받아들이는 텍스트 박스입니다.

양식을 제출할 때 필드 (이미 완료)를 숨기고 에서 wp_posts으로 채우려고합니다.

제출 후 wp_postmeta 테이블에서 작동 할 고리가 있습니까?

감사 테마의 functions.php 파일에있는 코드를 아래

답변

1

붙여 넣기 :

add_action('save_post', 'set_post_meta_func'); 
function set_post_meta_func($post_id) 
{ 
    /* return if not porpoerty post */ 
    $post_type = get_post_type($post_id); 
    if ("property" != $post_type) 
     return; 

    /* return if revision */ 
    if(wp_is_post_revision($post_id)) 
     return; 

    /* return if not published */ 
    if("publish" != get_post_status($post_id)) 
     return; 

    // unhook this function so it doesn't loop infinitely 
    remove_action('save_post', 'set_post_meta_func'); 
    // update the post, which calls save_post again 
    update_post_meta($post_id, "REAL_HOMES_property_id", "your value here"); 
    // re-hook this function 
    add_action('save_post', 'set_post_meta_func'); 
} 

저장하려는 사용자의 값으로 "여기 값을"대체합니다.

희망이 당신을 도울 것입니다!

1
function assign_property_id($post_id) { 

    $post_type = get_post_type($post_id); 

    if($post_type == 'property') { 
     update_post_meta($post_id, 'REAL_HOMES_property_id', $post_id); 
    } 

} 
add_action('save_post', 'assign_property_id'); 
+0

실제로 동일한 값을 여러 위치에 저장하는 목적은 무엇입니까? 외부 테이블에 현재 게시물 ID의 값을 저장하는 목적은 무엇입니까? 이것은 너무 이상합니다. 좀 더 설명해 주시겠습니까? 어쩌면 우리는 당신이 더 나은 결정을 내릴 수 있도록 도와 줄 수 있습니다 :) –

+0

@MerianosNikos 나는 그것이 이상하다는 데 동의합니다! 내가 사용하고있는 테마는 이것을 수행하고 게시물 ID가 아닌 프론트 엔드에 속성 ID를 출력합니다. 나는 이것이 가장 빠른 방법이라고 생각했다. 많은 속성 파일을 통해 속성 ID가 사용 된 곳을 확인했다. –