<p>J'ai essayé de modifier site_URL et wp_redirect en utilisant le code suivant : </p>
<pre class="brush:php;toolbar:false;"><?php
add_filter( 'site_url', 'mon_prefix_site_url', 10, 2 );
add_filter( 'wp_redirect', 'my_prefix_wp_redirect' );
fonction my_prefix_site_url( $url, $scheme ) {
return my_prefix_modify_url( $url, $scheme );
}
fonction mon_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() ) {
retour '/';
}
renvoyer $url ;
}
≪/pré>
<p>Mais j'ai rencontré l'erreur suivante.
Je ne comprends pas vraiment quel est le but réel de ce code, si je le comprends bien, je pense qu'il casse certaines choses, mais à votre question littérale : écrivez simplement votre propre fonction. La fonction
is_user_logged_in n'est pas compliquée dans la version par défaut :
Et
wp_get_current_user
est également enfichable mais simple :Donc, vous écririez simplement ceci :
function custom_is_user_logged_in() { return _wp_get_current_user()->exists(); }