ФорумПрограммированиеPHP для идиотов → Интеграция Wordpress

Интеграция Wordpress

  • andipas

    Сообщения: 170 Репутация: N Группа: Кто попало

    Spritz 20 октября 2010 г. 12:53

    Интегрирую WP в продукт, регистрацию и там и там реализовал уже, нужно чтобы при логине в продукт, происходил логин в WP. Может кто делал такое уже. Решение есть, но оно мне не нравится.

    Ужасаюсь как там все написано, куча функций которые в себе вызывают другие функции… типа:



    function init() {
    wp_get_current_user();
    }



    if ( !function_exists('wp_get_current_user') ) :
    /**
    * Retrieve the current user object.
    *
    * @since 2.0.3
    *
    * @return WP_User Current user WP_User object
    */
    function wp_get_current_user() {
    global $current_user;

    get_currentuserinfo();

    return $current_user;
    }
    endif;



    function get_currentuserinfo() {
    global $current_user;

    if ( defined('XMLRPC_REQUEST') && XMLRPC_REQUEST )
    return false;

    if ( ! empty($current_user) )
    return;

    if ( ! $user = wp_validate_auth_cookie() ) {
    if ( is_admin() || empty($_COOKIE[LOGGED_IN_COOKIE]) || !$user = wp_validate_auth_cookie($_COOKIE[LOGGED_IN_COOKIE], 'logged_in') ) {
    wp_set_current_user(0);
    return false;
    }
    }

    wp_set_current_user($user);
    }



    и так далее
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 20 октября 2010 г. 13:59, спустя 1 час 6 минут 5 секунд

    предлагаю просто интегрировать авторизацию, т.е. сделать общей )))
  • andipas

    Сообщения: 170 Репутация: N Группа: Кто попало

    Spritz 20 октября 2010 г. 14:07, спустя 7 минут 43 секунды

    Сложность в том, что блог стоит в поддомене, на домене продукт.

    При регистрации в продукте идет пост запрос в скрипт, который регистрирует акк в WP.


    $userdata = array(
    'user_pass' => $a['pass'],
    'user_login' => $a['login'],
    'user_url' => $my_config['server'].'/viewprofile.php?id='.$a['id'],
    'user_email' => $a['email'],
    'display_name' => $a['login'],
    'nickname' => $a['login'],
    'first_name' => $a['fname'],
    'last_name' => $a['sname'],
    'description' => $a['headline']
    );

    $id = wp_insert_user($userdata);

    $sSQL = "UPDATE tbl_user SET wp_user_id='".$id."' WHERE id='".$a['id']."' ";
    mysql_query($sSQL);


    теперь зная wp_user_id я могу поставить куки WP вордрессовской функцией


    wp_set_auth_cookie($wp_user_id, true);


    но она зараза, юзает кучу других WP функций и констант…

    на данный момент придумал тока, что по ссылке с продукта будет передаваться wp_user_id и там будет уже логинить

Пожалуйста, авторизуйтесь, чтобы написать комментарий!