Сайт Wordpress в подкаталоге, функция выхода из системы не работаетPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Сайт Wordpress в подкаталоге, функция выхода из системы не работает

Сообщение Anonymous »

У нас есть сайт Wordpress в корне нашего домена. Плагин перевода, который мы используем, добавляет к домену (в нашем случае для чешского языка) /cs — это означает, что мы можем выполнить более одного перевода, но использовать ту же базу данных и wp-контент, что и основной англоязычный веб-сайт.

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

Фактически используется код . Мы попробовали простой HTML-ссылку, но ссылка для выхода из системы является динамической и требует уникального значения nonce для проверки команды.

Есть ли у вас какие-либо идеи о том, как мы можем создать кнопка выхода из системы, которая использует фактический адрес сайта (mywebsite.com), а не добавленный «каталог» (mywebsite.com/cs). До сих пор мне не удалось отредактировать wp_logout_url, добавив перед ним /. Есть идеи?

Примеры ссылок:
Правильно:
http://www.mywebsite.com/backend?action ... d8eaf8594a

Неверно, результатом является ОШИБКА 404:
http://www.mywebsite.com/cs/backend?act ... d8eaf8594a

Используется фактический код (соответствующим кодом выхода является часть #bawlogout#):

add_filter( 'wp_setup_nav_menu_item', 'bawllm_setup_nav_menu_item' );
function bawllm_setup_nav_menu_item( $item )
{
global $pagenow;
if( $pagenow!='nav-menus.php' && !defined('DOING_AJAX') && isset( $item->url ) && strstr( $item->url, '#baw' ) != '' ){
$item_url = substr( $item->url, 0, strpos( $item->url, '#', 1 ) ) . '#';
$item_redirect = str_replace( $item_url, '', $item->url );
switch( $item_url ) {
case '#bawloginout#' :
$item_redirect = explode( '|', $item_redirect );
if( count( $item_redirect ) != 2 )
$item_redirect[1] = $item_redirect[0];
for( $i = 0; $i url = is_user_logged_in() ? wp_logout_url( $item_redirect[1] ) : wp_login_url( $item_redirect[0] );
$item->title = bawllm_loginout_title( $item->title ) ; break;
case '#bawlogin#' : $item->url = wp_login_url( $item_redirect ); break;
case '#bawlogout#' : $item->url = wp_logout_url( $item_redirect ); break;
case '#bawregister#' : if( is_user_logged_in() ) $item->title = '#bawregister#'; else $item->url = site_url( '/wp-login.php?action=register', 'login' ); break;
}
$item->url = esc_url( $item->url );
}
return $item;
}


Подробнее здесь: https://stackoverflow.com/questions/158 ... on-failing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»