2011-12-31 8 views
0

WordPress에 누군가가 "start_date"라는 게시물 메타를 입력하거나 업데이트 할 때마다 코드를 저장하기 전에 입력 한 내용이 실행되도록 프로그래밍해야합니다.메타 추가에 Wordpress 필터?

입력 한 내용을 받아 유닉스 타임 스탬프로 변환해야합니다.

이 방법이 있습니까?

그렇지 않은 경우 해당 게시물을 게시 또는 업데이트 할 때 해당 메타를 확인하고 필요한 경우 코드를 업데이트 할 수있는 방법이 있습니까?

답변

0

metaboxes 및 사용자 정의 필드를 플러그인으로 작성한다고 가정하면 다음을 수행 할 수 있습니다. 그렇지 않으면 데이터를 저장하는 방법에 따라 데이터를 덮어 쓸 수 있습니다.

사례가 무엇인지에 따라 시작할 수있는 방법이 있습니다.

add_action('save_post', 'update_the_post_meta', 100, 2); 
function update_the_post_meta($post_id, $post) { 

    if (defined('DOING_AJAX') && DOING_AJAX) { return; } 
    if (defined('DOING_CRON') && DOING_CRON) { return; } 
    if ($post->post_type == 'revision') { return; } 

    if (isset($_REQUEST['start_date'])) : 
     //do your timestamp code here and save it in $timestamp 
     add_post_meta($post_id, 'start_date', $timestamp, true) or update_post_meta($post_id, 'start_date', $timestamp); 
    else : 
     delete_post_meta($post_id, 'start_date'); 
    endif; 

} 

지금 add_action의 우선 순위는 100으로 설정됩니다 (숫자가 높을수록 우선 순위가 낮습니다). 따라서 다른 사람의 기능을 무시하려는 경우 우선 순위 번호를 늘려야 할 수 있습니다. 또한 이것은 입력 필드의 이름이 "start_date"라고 가정합니다.

관련 문제