duanmo6937 2015-05-08 07:00
浏览 14
已采纳

在数组和标题中使用PHP进行Wordpress术语创建

So I'm trying to create two categories when the user logs in. I need the category names to be the username of the user who is logging in.

I'm fairly new to PHP and I've been looking through the Codex and I know how to get the user information but I can't figure out how to make it output in the array or as the title.

The current code below is the closest I've gotten. It all works except the PHP code is not outputting. It shows as blank after the creation process.

function Login_CreateInitialCategories($user_login, $user) {

    $current_user = wp_get_current_user();
    wp_insert_term(
        '<?php  echo $current_user->user_login; ?>',
        'outings',
        array(
          'description' => '<?php echo $current_user->user_login ; ?> Outings',
          'slug'        => '<?php echo $current_user->user_login ; ?>-category'
        )
    );

    wp_insert_term(
        '<?php echo $current_user->user_login ; ?>',
        'adventures',
        array(
          'description' => '<?php echo $current_user->user_login ; ?> Adventures',
          'slug'        => '<?php echo $current_user->user_login ; ?>-category'
        )
    );

}
add_action('wp_login', 'Login_CreateInitialCategories', 10, 2);

Do you guys know a way to get around this? The code is actually working perfectly, it's just not responding/outputting the PHP code.

Below is a link to a picture of the result of the code above. (I would of posted it here, but I don't have enough reputation.)

https://www.dropbox.com/s/wamd6q3vd0odv7w/2015-05-08_02h52_10.png?dl=0

  • 写回答

3条回答 默认 最新

  • dongping2023 2015-05-08 16:56
    关注

    Okay, so after working on a solution I decided to get the meta value directly and that worked.

    function Login_CreateInitialCategories() {
        $current_user = get_currentuserinfo();
        $user = get_user_meta($user_id = get_current_user_id(), nickname, true);
        wp_insert_term(
            $user, // the term 
            'outings', // the taxonomy
            array(
                'description'=> $user . ' Outings',
                'slug' => $user
    
      )
    );
    
        wp_insert_term(
            $user, // the term 
            'adventures', // the taxonomy
            array(
                'description'=> $user . ' Adventures',
                'slug' => $user
    
      )
    );  
    
    
    }
    
    add_action('wp_loaded', 'Login_CreateInitialCategories');
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?