SSO リダイレクトリンク

こんにちは、現状では redirect_to パラメータ以外の実装計画はありません。

「ユーザーを元のページに戻す」という機能は、見た目以上に複雑です。多くのエッジケースが存在します。これをコア機能として追加すれば、それらのエッジケースすべてをサポートすることになるためです :slight_smile: 想像できるかと思いますが、WordPress サイトの構成方法は多岐にわたります。

以前、この点について少しヒント をお伝えしましたが、さらにサポートするために、あなたまたはあなたの開発者が行うべきことは、既存のショートコードを拡張して route_to をサイトの現在の URL に自動的に設定することです。その後、ご自身のサイト固有のエッジケースについて検討してください。

functions.php 内では以下のように記述します。

use WPDiscourse\SSOClient\SSOClientShortcode;

function render_discourse_sso_client_link_with_redirect() {
    $sso = new SSOClientShortcode();
    $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http");
    $current_url = "$protocol://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $options = array(
      "redirect"  => $current_url,
      "login"     => "Login"
    );
    return $sso->discourse_sso_client_shortcode( $options );
}
add_shortcode( 'discourse_sso_client_link_with_redirect', 'render_discourse_sso_client_link_with_redirect' );

その後、テンプレート内で [discourse_sso_client_link_with_redirect] というショートコードを使用してください。