Создайте функцию в WordPress для изменения роли пользователей, когда они нажимают на ссылку

Поэтому я некоторое время изучал, но безрезультатно. Я очень новичок в php и внутренних функциях WordPress.

Я хотел бы создать функцию, которая, когда пользователь нажимает на ссылку, обновляет свою роль пользователя.

Эта функция необходима, потому что я создаю вводной сайт для сотрудников, где они должны прочитать страницу, а затем, когда закончат, щелкнуть ссылку, чтобы перейти к следующей части веб-сайта, изменение роли даст мне знать, что они прочитал и перешел к следующей части.

У меня есть базовое представление о файле functions.php, и я играл с учебными пособиями, чтобы понять, как это работает, но я не могу понять, что нужно, чтобы это произошло.

Несколько похожих ссылок, которые я пробовал:

Но я не мог выработать из них то, что нужно.

Любая помощь будет очень признательна.

Спасибо!


person agoodacre    schedule 30.11.2015    source источник
comment
Я бы, наверное, создал <form> с одним или двумя скрытыми входами. На хуке init вы можете прослушивать входные данные триггера в массиве $_POST (например, скрытый ввод, такой как < input type="hidden" name="upgrade_to_boss" value="99" />, где значение является идентификатором текущего пользователя. Это можно обнаружить на init через isset($_POST["upgrade_to_boss"]), а затем запустить нужный процесс с идентификатором .   -  person helgatheviking    schedule 30.11.2015
comment
Спасибо за ответ! Мне удалось заставить его работать так, как я хотел, после того, как я еще немного покопался и прочитал, так что спасибо!   -  person agoodacre    schedule 30.11.2015


Ответы (1)


Итак, я понял это в конце концов, код, который я использовал, был:

function change_role($atts) {
    $current_user = wp_get_current_user();
    $current_user->remove_role( 'induction_intro' );
    $current_user->add_role( 'getting_started' );
    echo 'User ID: ' . $current_user->ID . '<br />';
}
add_shortcode('changerole', 'change_role');

У меня есть еще что добавить к этому, но я могу понять это достаточно легко. Я чувствую себя глупо, публикуя вопрос сейчас, после этого он кажется таким простым.

person agoodacre    schedule 30.11.2015