WordPress の DB にスクリプトからアクセスしたい場合、単純に MySQL にアクセスして処理すればいいのですが、何らかの理由で WordPress の関数を使いたい場合(画像の投稿をスクリプトで行う等)は、
require_once('wp-blog-header.php');
でOKなのですが、一部のメソッドは直接そのメソッドが記述されたソースをインクルードする必要があります。
例えば、カテゴリ登録するための wp_insert_category() を使いたい場合、
require_once('/wp-admin/includes/taxonomy.php');
とする必要があります。/wp-admin/includes/にクラスがあるので必要なものを探しだして、インクルードします。
また、wp-blog-header.phpをインクルードするということは、例えば、HTTPSで必ずアクセスさせたり、ログインユーザのみに見せるといったようなWebの制限をfunction.phpなどに入れて、サイト全体に制限かけた場合、影響を受けます。
そこで、そういった制限を入れた場合は、その制限処理に、
if ( ! preg_match( '/^(script.php|hogehoge.*.php)/', basename( $_SERVER['SCRIPT_NAME'] ) ) ){
// 制限処理
}
のように除外したいスクリプト名(上記の場合、「script.php」か「hogehoge.*.php」にマッチするスクリプト)を指定して、処理から除外する必要があります。
これをしない場合、スクリプトを実行すると、制限に引っかかり、処理が止まります。