|string $atts Shortcode attributes. * * @internal Shortcode callback. */ public function render( $atts = [] ): string { $atts = shortcode_atts( [ 'skin' => '', ], is_array( $atts ) ? $atts : [], 'rahkar_login' ); if ( is_user_logged_in() ) { return $this->alreadySignedIn(); } $skin = sanitize_key( (string) $atts['skin'] ); $purpose = LoginPage::isLoginPage() ? LoginWidget::PURPOSE_PAGE : LoginWidget::PURPOSE_SHORTCODE; $widget = Plugin::make( LoginWidget::class ); $widget->enqueue( $skin ); return $widget->render( $purpose, $skin, LoginPage::returnTo() ); } /** * What a signed-in visitor sees. */ private function alreadySignedIn(): string { $account = function_exists( 'wc_get_page_permalink' ) ? (string) wc_get_page_permalink( 'myaccount' ) : admin_url( 'profile.php' ); return sprintf( '

%s

%s · %s

', esc_html__( 'شما وارد شده‌اید.', 'rahkar-toolkit' ), esc_url( $account ), esc_html__( 'حساب کاربری', 'rahkar-toolkit' ), esc_url( wp_logout_url( home_url( '/' ) ) ), esc_html__( 'خروج', 'rahkar-toolkit' ) ); } }