Per aumentare la sicurezza di WordPress è utile sapere se un file PHP di un tema o di un plugin viene richiesto direttamente.
La soluzione è la seguente:
function my_is_directly_loaded( $name ) {
return ( !empty( $_SERVER['SCRIPT_FILENAME'] ) && $name == basename( $_SERVER['SCRIPT_FILENAME'] ) );
}
Esempio d'uso:
if( my_is_directly_loaded( 'loop.php' ) ) {
exit();
}