Вызов require('../../../wp-blog-header.php') приводит к ошибке 404?

27 мая 2011 г., 23:41:38
Просмотры: 1.13K
Голосов: 0

У меня есть кнопка в настройках темы, которая вызывает файл color.php (его содержимое приведено ниже).

На некоторых установках темы скрипт выдает ошибку 404 и не работает, пока я не удалю все выше строки //do something. Есть идеи, что может быть причиной?

<?php
require('../../../wp-blog-header.php');

if (!is_user_logged_in()){
    die("Вы должны быть авторизованы для доступа");
}
if( ! current_user_can('edit_files')) {
    die("Извините, у вас нет прав для этого действия");
}
// сделать что-то
?>
2
Комментарии

Если вы вручную прописываете URL, всё равно получаете 404 ошибку? Если да, используйте правильный путь для вашего require.

Wyck Wyck
28 мая 2011 г. 06:08:26

Да, согласно инструментам разработчика Chrome, это так.

Scott B Scott B
30 мая 2011 г. 01:25:30
Все ответы на вопрос 1
1

Это не ошибка 404, это ошибка сервера. Вы вызываете is_user_logged_in и current_user_can, вероятно, до загрузки их определений. Привяжите вашу проверку к действию, где эти функции уже доступны, например, к admin_init.

29 мая 2011 г. 13:24:27
Комментарии

Спасибо, Chrome Developer Tools сообщает об этом как об "ошибке 404". Я попробую ваш совет: add_action( 'admin_init', 'function_name' );

Scott B Scott B
29 мая 2011 г. 17:58:16