jiluroさん、こんにちは。
下記でいかがでしょうか。
1.社内からの接続が固定IPならば、DBへのクエリーのpost_statusを公開だけでなく、予約投稿、下書き、非公開も許可されるようフィルタリング
下記を、テーマのfunctions.phpに追記。(***.***.***.***の部分は社内の接続IP、複数ある場合はカンマ区切りで複数指定)
function allow_display_my_ip( $query ) {
$my_ips = array( '***.***.***.***' );
if ( in_array( $_SERVER['REMOTE_ADDR'], $my_ips ) ) {
$query->query_vars['post_status'] = 'publish,future,draft,pending,private';
}
}
add_action( 'parse_query', 'allow_display_my_ip' );
ただし、これだけだとsingleやpageの場合に404になってしまいます。原因は、wp-includes/query.phpの2279行目からの分岐で、singleやpageの場合、post_statusがpublishでないと、結果を空にしてしまうのです。
2.wp-includes/query.phpの2449行目(ver3.0の場合)をコメントアウト
// $this->posts = array();
こうすれば、社内からのアクセスのみ、非公開投稿、ページなどもログインなしに表示できるようになります。
※ ログインしていると逆に編集権限のチェックがあるので、ややこしくなります。
もう少し固い実装にするのであれば、2の処理部分にもipでの分岐処理を加えてあげると良いです。
jim912さま、わざわざプログラミングしていただいたのですか・・・。
ホントに有難いです。
> ※ ログインしていると逆に編集権限のチェックがあるので、ややこしくなります。
とんでもございません、これは全然ガマンできます。別のブラウザでログインしていない状態で自分は閲覧チェックすれば良いのでモンダイないです。有難うございます。
それで、早速やりました!
・・・が、フェイタルエラーの画面が出てしまいました。
手順としては、先ほどのプラグインを切った上で、wp-includes/functions.phpの一番最後の「?>」の前に書いていただいたソースを貼り付け、IP欄にIPを正確に記載後、再度アップロード。
そして、wp-include/query.phpの2449行目にあった記述を以下に変更後アップロード。
// $this->posts = array();
エラーメッセは以下です。
Fatal error: Call to undefined function add_action() in /myserver/www/myacount/mysite.co.jp/wp-includes/functions.php on line 4309
add_actionsがおかしい的な意味?? ちゃんとWordPress 3.0でやってるんですが・・・
4309行目には
add_action( ‘parse_query’, ‘allow_display_my_ip’ );
があります。
そもそもいただいたソースの貼り付け場所が間違いとかでしょうか。
jiluroさん
wp-includesのfunctions.phpではなく、テーマのfunctions.phpに記述してください。
テーマの方でしたか、失礼いたしました!
そして・・・・・
できました~~~~~!!!
バッチリです!!!
ヤッタ~~~~~!!!!!
> ※ ログインしていると逆に編集権限のチェックがあるので、ややこしくなります。
>
> もう少し固い実装にするのであれば、2の処理部分にもipでの分岐処理を加えてあげると良いです。
「もう少し固い実装」をしないとまずいんでしょうね。
コメントアウトした後にでもソースを貼り付けてやってみます!
取り急ぎとにかく早く御礼をお伝えしたく!
jim912さま、ログイン状態でも閲覧できないことはなかったです。
ログイン状態でもログアウト状態でもOKでした!
私が追加でいじることは何もしていませんのでなんでなのかよくわかりませんが、
とにかくできたようです。
どうも有難うございました!
他の方もご親身にしていただき誠に有難うございました。
jiluroさん、こんにちは。
ログイン状態だと、作成者など権限の低いユーザーで見られなくなるはずです。管理者、編集者のみの利用であれば問題はありません。
> ログイン状態だと、作成者など権限の低いユーザーで見られなくなるはずです。管理者、編集者のみの利用であれば問題はありません。
なるほど、そういうことでしたか! それなら何ら問題ないです! 管理者の当方自身さえログイン状態で見れれば楽なので。
素晴らしいです、ホントに。このような用途は必ず必要になってくる大変貴重なものだと思っています。
これより複数の運営サイトについてWordPressのバージョンアップをしない状態で試してみようと思っております。バージョンアップは優先作業が落ち着いてから後日やるつもりです。
もちろん教えていただいたやり方・ソースではバージョン3でないとダメなのであればこのタイミングでバージョンアップやりますし。自分で試してみます。
jim912さま、大変感謝申し上げます!
今後ともどうぞ宜しくお願い致します。
WordPressのブログが他の人からはテキストしか見れないです><
iPhoneアプリ開発熟達テクニッックの本のP262を読みながら
mysql Ver 14.14 Distrib 5.1.58
をインストール、
sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
my.cnfを編集し
[mysqld]
default-character-set=utf8
character_set_serve=utf8
[mysql]
default-character-set=utf8
mysqlを再起動
/usr/local/mysql/bin/mysql -u root -p
SHOW VARIABLES LIKE ‘character\_set\_%’;で
latinからutf8にテキストエンコーディングしているのを確認
sudo cp /etc/php.ini.default /etc/php.ini
php.iniを編集し
/var/mysql/mysql.sockを/tmp/mysql.sockに置き換える
display_errors = Onに変更する
Web共有からapacheを再起動
PHPからMySQLを呼び出せるように設定しました。
phpMyAdmin 3.3.10をダウンロード
/Library/WebServer/Documents/phpMyAdmin
にコピーして
config.sample.inc.phpをコピーして
config.inc.phpに変更して、
$cfg[‘blowfish_secret’]=’ランダムな文字列’;
と編集
http://localhost/phpMyAdmin/
にアクセスしてログインできることを確認
新規データベース wp
照合順序 utf8_unicode_ci で作成
wp-config-sample.phpをコピーし、
wp-config.phpに名前を変更
wp-config.phpで
Wordpressのためのデータベース名と
MySQLのデータベースのユーザー名と
MySQLのパスワードを入力
https://api.wordpress.org/secret-key/1.1/salt/
から認証用ユニークキーを取得し、
wp-config.phpを編集しました。
http://localhost/wordpress/wp-admin/install.php
でサイトのタイトル、ユーザー名、パスワードを入力し、
Wordpressをインストールして、成功しました!を確認
http://localhost/wordpress/wp-login.php
で投稿、新規追加で
Wordpressのブログを作成したのですが、
http://122x210x182x153.ap122.ftth.ucom.ne.jp/wordpress/
は自分のパソコンからでは
普通に画像やCSSが有効になっていて、コメントとかもできるのに
他のパソコンからこのリンクにアクセスすると
ブログのテキストは表示されるのですが、
画像も、CSSも有効にならず
コメントもリンクも使えません。
どうしてでしょうか?
ちなみに
http://122x210x182x153.ap122.ftth.ucom.ne.jp/info.php
http://122x210x182x153.ap122.ftth.ucom.ne.jp/cgi-bin/hello.pl
http://122x210x182x153.ap122.ftth.ucom.ne.jp/cgi-bin/hello.cgi
のリンクは見れるのでPHP,Perl,CGIはつかえます。
http://ja.forums.wordpress.org/topic/4608?replies=23
のフォーラムの質問を見ても
10日で覚えるWordpress入門講義を読んでも
まだ自己解決できないのでおしえてください><
Apache/2.2.17 (Unix) mod_ssl/2.2.17
OpenSSL/0.9.8r DAV/2
PHP/5.3.4
mysql Ver 14.14 Distrib 5.1.58
phpMyAdmin 3.3.10
Safari 5.1
Wordpress 3.2.1