Как я могу добавить слаг в конец siteurl в этом плагине перенаправления Wordpress?

На мультисайте Wordpress я использую "redirect-multisite-user -to-iron-site" для пользователей, которые входят в систему из внешнего интерфейса, чтобы быть перенаправленными в их собственный определенный блог. Однако этот плагин перенаправляет только на домашнюю страницу блога пользователя (например, mulstisite.com/users-site), а не на панель инструментов (например, mulstisite.com/users-site/wp-admin). Я хочу, чтобы пользователь был перенаправлен на свою панель инструментов.

В коде плагина (см. ниже, включено полностью) у них есть wp_redirect($user_target_site->siteurl);. Я еще плохо знаю PHP, и мне нужно, чтобы он каким-то образом перешел к $user_target_site->siteurl + /wp-admin. Как я могу это сделать? Я рад отредактировать плагин и создать свой собственный плагин, чтобы предотвратить его переопределение обновлениями плагина.

    <?php
    /*
    Plugin Name: Redirect multisite user to their own site
    Plugin URI: https://wordpress.org/plugins/redirect-multisite-user-to-their-own-site/
    Description: If the current user in a multisite environment accesses a subsite to which access has not been granted, then redirect the user back to their own site. This plugin requires PHP 5.3 or newer because it uses PHP namespaces.
    Author: Mark Howells-Mead
    Version: 1.1.1
    Author URI: https://www.permanenttourist.ch/
    Text Domain: redirect-multisite-user-to-their-own-site
    */

    namespace MHM\MultisiteRedirectuser;

    class Plugin
    {
public function __construct()
{
    load_plugin_textdomain('redirect-multisite-user-to-their-own-site');
    if (is_multisite()) {
        add_action('parse_request', array($this, 'checkAccess'));
    }
}

public function checkAccess()
{
    global $current_user, $wpdb;
    $current_site_id = (int) $wpdb->blogid;
    $user_sites = get_blogs_of_user($current_user->ID);
    if (is_array($user_sites)) {
        switch (count($user_sites)) {
            case 0:
                if (is_user_logged_in()) {
                    do_action('redirect-multisite-user-to-their-own-site/no-sites', $current_user, $current_site_id);
                }
                break;
            case 1:
                $user_target_site = array_values($user_sites)[0];
                if ((int) $user_target_site->userblog_id !== $current_site_id) {
                    do_action('redirect-multisite-user-to-their-own-site/redirecting', $current_user, $current_site_id, $user_target_site->siteurl);
                    wp_redirect($user_target_site->siteurl);
                    exit;
                }
                break;
            default:
                if (!array_key_exists($current_site_id, $user_sites)) {
                    do_action('redirect-multisite-user-to-their-own-site/not-allowed', $current_user, $current_site_id, $user_sites);
                }
                break;
        }
    }
}
    }

    new Plugin();

person cjhuddle    schedule 11.04.2017    source источник


Ответы (1)


Если вы знаете о последствиях изменения кода плагина, попробуйте изменить эту строку;

wp_redirect($user_target_site->siteurl);

К этому:

wp_redirect($user_target_site->siteurl . "/wp-admin/");
person Community    schedule 11.04.2017