如何在元更新后添加和减去用户元值

时间:2021-07-22 作者:robert0

基本上,我试图在更新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,但我正在与逻辑作斗争。

我非常感谢你的帮助。

1 个回复
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 ); 


    

相关推荐

如何在unction.php中更改图片url?

例如,我的图像url是https://aa.com/wp-content/uploads/2021/07/x-600x600.jpg我想把它改成https://images.s3.us-east-2.amazonaws.com/aa.com/wp-content/uploads/2021/07/x-600x600.jpg或https://images.s3.us-east-2.amazonaws.com/aa.com/wp-content/uploads/2021/07/x-600x600.jpg.web