현재 WPAlchemy metabox에 사용중인 날짜와 시간으로 metabob을 변환하려고합니다.WPAlchemy 대사 물을 사용하여 날짜와 시간 입력 데이터를 하나의 필드로 결합
저장 중 하나의 입력란에 시작일과 시작 시간이 결합되었습니다.
이 기존의 저장 기능입니다 : 여기
add_action ('save_post', 'save_event'); function save_event(){ global $post; // - still require nonce if (!wp_verify_nonce($_POST['event-nonce'], 'event-nonce')) { return $post->ID; } if (!current_user_can('edit_post', $post->ID)) return $post->ID; // - convert back to unix & update post if(!isset($_POST["startdate"])): return $post; endif; $updatestartd = strtotime ($_POST["startdate"] . $_POST["starttime"]); update_post_meta($post->ID, "startdate", $updatestartd); if(!isset($_POST["enddate"])): return $post; endif; $updateendd = strtotime ($_POST["enddate"] . $_POST["endtime"]); update_post_meta($post->ID, "enddate", $updateendd);
는 참조 용으로 새로운 기능과 필드를 다음과 같습니다 가
$custom_event_metabox = new WPAlchemy_MetaBox(array
(
'id' => '_custom_event_meta',
'title' => 'Event Information',
'template' => /event_meta.php',
'types' => array('event'),
'context' => 'normal',
'priority' => 'high',
'mode' => WPALCHEMY_MODE_EXTRACT,
'save_filter' => 'event_save_filter',
'prefix' => '_my_' // defaults to NULL
));
<li><label>Start Date</label>
<?php $mb->the_field('startdate'); ?>
<input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" class="tsadate" />
</li>
<li><label>Start Time</label>
<?php $mb->the_field('starttime'); ?>
<input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" class="tsatime" />
<span><em>Use 24h format (7pm = 19:00)</em></span>
</li>
<li><label>End Date</label>
<?php $mb->the_field('enddate'); ?>
<input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" class="tsadate" />
</li>
<li><label>End Time</label>
<?php $mb->the_field('endtime'); ?>
<input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>" class="tsatime" />
<span><em>Use 24h format (7pm = 19:00)</em></span>
내가 직면하고있어 문제는 내가 완전히 확실하지 않다입니다 save_filter 또는 save_action을 사용해야하는지, 아니면 어떻게이 WPA를 처리해야하는지 WPAlchemy.
이
내가 지금까지 무엇을 가지고 :function event_save_filter($meta, $post_id)
{
// the meta array which can be minipulated
var_dump($meta);
// the current post id
var_dump($post_id);
// fix: remove exit, exit here only to show you the output when saving
//exit;
// - convert back to unix & update post
if(!isset($_POST["startdate"])):
return $post;
endif;
$updatestartd = strtotime ($_POST["startdate"] . $_POST["starttime"]);
update_post_meta($post->ID, "startdate", $updatestartd);
경우 (!의는 isset을 ($ _ POST [ "ENDDATE"])) : 반환 $ 포스트; endif; $ updateendd = strtotime ($ _POST [ "enddate"]. $ _POST [ "endtime"]); update_post_meta ($ post-> ID, "enddate", $ updateendd);
// filters must always continue the chain and return the data (passing it through the filter)
return $meta;
}
이 방법이 유용할까요? save_filter 또는 save_action일까요? 당신이 WPAlchemy을 사용하고 당신이 필요로하는 모든 당신의 메타 데이터에 새 값 또는 갱신 값을 추가하는 경우
는 어떤 통찰력은 ;-)