我目前正在开发一个简单的维护站点,只是为了让您了解它的功能,我会很快解释它。它利用woocommerce购买时间段,一旦购买完成,金额就会插入到自定义表中。
现在的想法是,当您在名为clients
您将花费的时间输入到一个名为hours_taken
发布后,它将运行一个函数将新号码上载到数据库。
我正在尝试让它只执行一次,这样更新发布的帖子不会占用更多的时间。
我从这个网站上的另一个问题中获得了下面的代码,具有类似的功能,但似乎不起作用。我在其中添加了一个die(),以查看代码是否在发布时运行,但它没有运行代码。
function edit_user_hours($post){
$post_id = $post->ID;
$customer_id = get_current_user_id();
if ( !get_post_meta( $post_id, \'firstpublish\', $single = true ) ) {
// ...run code once
$get_table = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_woocommerce_userHours WHERE userId = %s LIMIT 1", $customer_id));
$get_table = $get_table[0];
$mykey_values = get_post_custom_values( \'hours_taken\' );
foreach ( $mykey_values as $key => $value ) {
$hourBlock = $value - $get_table->hourBlocks;
}
// Do something!
$wpdb->query($wpdb->prepare("UPDATE wp_woocommerce_userHours SET userHours = userHours + $hourBlock WHERE userId = %s LIMIT 1", $customer_id));
die(\'Data inserted\');
update_post_meta( $post_id, \'firstpublish\', true );
}
}
add_action( \'draft_to_published\', \'get_user_hours\' )
我