Apelul la require('../../../wp-blog-header.php') rezultă în eroare 404?

27 mai 2011, 23:41:38
Vizualizări: 1.13K
Voturi: 0

Am un buton în opțiunile temei care apelează un fișier numit color.php (conținutul acestuia este mai jos).

Pe anumite instalări ale temei, scriptul generează o eroare 404 și eșuează dacă nu elimin totul deasupra liniei //fă ceva. Aveți sugestii despre ce ar putea provoca acest lucru?

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

if (!is_user_logged_in()){
    die("Trebuie să fii autentificat pentru a accesa această pagină");
}
if( ! current_user_can('edit_files')) {
    die("Ne pare rău, nu ești autorizat să faci acest lucru");
}
 //fă ceva
 ?>
2
Comentarii

Dacă introduci manual URL-ul, primești tot eroarea 404? Dacă da, folosește o cale corectă pentru require.

Wyck Wyck
28 mai 2011 06:08:26

Da, conform instrumentelor de dezvoltare Chrome, se întâmplă.

Scott B Scott B
30 mai 2011 01:25:30
Toate răspunsurile la întrebare 1
1

Nu este o eroare 404, ci o eroare de server. Apelezi funcțiile is_user_logged_in și current_user_can probabil înainte ca definițiile acestora să fie încărcate. Folosește un hook pentru a-ți verifica codul într-o acțiune unde aceste funcții sunt deja cunoscute, de exemplu admin_init.

29 mai 2011 13:24:27
Comentarii

Mulțumesc toscho, instrumentele pentru dezvoltatori Chrome îl raportează ca o "eroare 404". Voi încerca sugestia ta: add_action( 'admin_init', 'function_name' );

Scott B Scott B
29 mai 2011 17:58:16