エロサイトの作り方

2013年11月から勉強しながらエロサイトを作っています。

WordPressで出ていたPHPのWarningとErrorの解消

たまにはチェックしないとダメっすね。

The get_mostpopular() has been deprecated since 2.0.3.

PHP Warning: The get_mostpopular() has been deprecated since 2.0.3. Please use wpp_get_mostpopular() instead. in /var/www/wp-content/plugins/wordpress-popular-posts/wordpress-popular-posts.php on line 3231

Wordpress Popular Postsプラグインが出している。

テーマのどこかで、

<?php get_mostpopular("..."); ?>

と書いているのを、

<?php wpp_get_mostpopular("..."); ?>

に書き換えればよい。

Unknown: Input variables exceeded 1000.

PHP Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

GETパラメーターの長さが1000を超えているということ。

管理画面どこだったかで一括処理をGETでやっててパラメーターが鬼増えるところがあったので、そこで出たものだと思われる。

基本的に桁数を増やすのは悪手なのでそのまま。

しかしログ出力を消す事はできないのかなぁ……

Call to undefined function get_header()

PHP Fatal error: Call to undefined function get_header() in /var/www/wp-content/themes/mytheme/index.php on line 1

テーマファイルの.phpに直接アクセスされると出る。

Nginxで/wp-content/themes/以下の*.phpは直アクセス禁止にしたほうがいい。

location ~* /wp-content/themes/.*\.php { deny all; }

Call to undefined function add_action()

PHP Fatal error: Call to undefined function add_action() in /var/www/wp-includes/admin-bar.php on line 48

これもwp-includes/admin-bar.phpに直接アクセスされると出るので、直アクセス禁止にしたほうがいい。

location ~* /wp-includes/.*\.php       { deny all; }

wp-includes配下は直接呼ばれることが無いので全禁止でよい(はず)。

しかし、WordPressの公式のNginx設定にはこの記述は無いんだよなぁ……

エラーで落ちるからよしとしているんだろうけど、それでいいのか?と思う。