WordPress 関数 is_user_logged_in が siteurl および wp_redirect で正しく動作しません。
P粉358281574
P粉358281574 2023-07-29 00:18:33
0
1
329
<p>次のコードを使用して site_URL と wp_redirect を変更してみました。 </p> <pre class="brush:php;toolbar:false;"><?php add_filter( 'site_url', 'my_prefix_site_url', 10, 2 ); add_filter( 'wp_redirect', 'my_prefix_wp_redirect' ); function my_prefix_site_url( $url, $scheme ) { return my_prefix_modify_url( $url, $scheme ); } 関数 my_prefix_wp_redirect( $url ) { return my_prefix_modify_url( $url, null ); } function my_prefix_modify_url( $url, $scheme = null ) { $current_url = isset( $_SERVER['PHP_SELF'] ) ? sanitize_text_field( wp_unslush( $_SERVER['PHP_SELF'] ) ) : ''; if ( ! strpos( $current_url, 'wp-admin' ) && ! is_user_logged_in() ) { 戻る '/'; } $url を返します。 } </pre> <p>しかし、次のエラーが発生しました。

、ファイルには is_user_logged_in() 関数が含まれています。そこで、次のようにコードに組み込みました。 </p><p><strong></strong><strong></strong><strong></strong>< ;/p> <pre class="brush:php;toolbar:false;">if ( ! function_exists( 'is_user_logged_in' ) ) { require_once ABSPATH . WPINC . '/pluggable.php'; } </pre> <p>このファイルをインクルードした後、コードは正常に動作しますが、他の一部のプラグインはプラグイン可能な関数をオーバーライドできないため、このファイルと競合します。 </p><p>短い質問: pluggable.php をロードする前に、ユーザーがログインしていることを wp_redirect レベルで確認するにはどうすればよいですか。 </p><p>ご回答いただきありがとうございます。 </p>


P粉358281574
P粉358281574

全員に返信(1)
P粉253518620

このコードの実際の目的が何なのかはよくわかりません。正しく理解すれば、いくつかの点が壊れると思いますが、文字通りの質問としては、独自の関数、つまり Can を作成するだけです。

is_user_logged_in 関数は、デフォルト バージョンでは複雑ではありません:

リーリー

そして wp_get_current_user もプラグ可能ですがシンプルです:

リーリー

だから、次のように書くだけです:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート