基本上,我试图在更新post元值时在当前用户和作者之间进行点交换。
以及在post meta中添加+1。
以下是我目前拥有的:
// Coin exchange function
//
add_action( \'updated_post_meta\', \'coin_exchange_after_post_meta_update\', 10, 4 );
function coin_exchange_after_post_meta_update( $meta_id, $post_id, $meta_key, $meta_value )
{
$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;
$author_id = get_post_field( \'post_author\', $post_id );
if ( \'postcoins\' == $meta_key ) {
update_user_meta( $current_user_id, \'usercoins\', \'\'); // subtract -1 from current user
update_user_meta( $author_id, \'usercoins\', \'\'); // add +1 to post author
update_post_meta( $post_id, \'postcoins\', \'\' ); // add +1 to post meta
}
}
剩下的唯一一件事就是弄清楚如何进行减法和加法。
我知道有一种方法可以使用sum=0,但我正在与逻辑作斗争。
我非常感谢你的帮助。
SO网友:robert0
基本上,我已经放弃了这个功能,现在只需点击超链接即可更新元数据。
它触发了这段代码,并完全按照我的要求执行。
如果有人感兴趣:
$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;
$author_id = get_post_field( \'post_author\', $post_id );
$user_coins = get_user_meta( $current_user_id, \'usercoins\' , true );
$author_coins = get_user_meta( $author_id, \'usercoins\' , true );
$post_coins = get_post_meta( $post_id, \'postcoins\', true );
$user_coins_sum = $user_coins - 1;
$author_coins_sum = $author_coins + 1;
$post_coins_sum = $post_coins + 1;
update_user_meta( $current_user_id, \'usercoins\', $user_coins_sum);
update_user_meta( $author_id, \'usercoins\', $author_coins_sum);
update_post_meta( $post_id, \'postcoins\', $post_coins_sum );