La chiamata a require('../../../wp-blog-header.php') restituisce un errore 404? Risoluzione

27 mag 2011, 23:41:38
Visualizzazioni: 1.13K
Voti: 0

Ho un pulsante nelle opzioni del tema che chiama un file chiamato color.php (il cui contenuto è mostrato sotto).

In alcune installazioni del tema, lo script genera un errore 404 e fallisce a meno che non rimuova tutto ciò che si trova sopra la riga //fai qualcosa. Qualche suggerimento su cosa potrebbe causarlo?

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

if (!is_user_logged_in()){
    die("Devi essere loggato per accedere a questa pagina");
}
if( ! current_user_can('edit_files')) {
    die("Ops, non sei autorizzato a fare questa operazione");
}
 //fai qualcosa
 ?>
2
Commenti

Se inserisci l'URL manualmente, restituisce ancora 404? In tal caso, utilizza un percorso corretto per il tuo require.

Wyck Wyck
28 mag 2011 06:08:26

Sì, secondo gli strumenti per sviluppatori di Chrome, lo fa.

Scott B Scott B
30 mag 2011 01:25:30
Tutte le risposte alla domanda 1
1

Non è un errore 404, ma un errore del server. Stai chiamando is_user_logged_in e current_user_can probabilmente prima che la definizione sia caricata. Collega il tuo controllo a un'azione dove queste funzioni sono conosciute, come admin_init per esempio.

29 mag 2011 13:24:27
Commenti

Grazie a scho, gli strumenti per sviluppatori di Chrome lo segnalano come un "errore 404". Proverò il tuo suggerimento: add_action( 'admin_init', 'function_name' );

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