IT家・挑戦雑記

情報を制する者は世界を制す!

WordPressを利用していると
このページにアクセスするための十分なアクセス権がありません
と怒られてしまうケースがあります。

私の場合、システムログイン後にこのメッセージが出ました。

その状況や原因を以下にて解説します。

━━━━━━━━━━━━━━━━━━━━━━━━━
★状況
 ・テーブルのprefix名を変更

 DBテーブルとwp-config.phpのprefix名を変更した際、
 WordPressで管理画面にIDとパスワードを入力してログイン後、
 「このページにアクセスするための十分なアクセス権がありません」
 とうい警告メッセージが表示される。
 ※管理画面で操作不可
 ※ブログ閲覧は問題なし

★環境
 ◆サーバーサイド
  ・OS:CentOS 5.5
   ・PHP:5.3.3
    ・WordPress 3.01
   ・Apache:2.2.3
   ・MySQL:5.1.50-1

 ◆WordPressのテーブル一覧(全11テーブル)
  1: (prefix名)_commentmeta
  2: (prefix名)_comments
  3: (prefix名)_links
  4: (prefix名)_options
  5: (prefix名)_postmeta
  6: (prefix名)_posts
  7: (prefix名)_terms
  8: (prefix名)_term_relationships
  9: (prefix名)_term_taxonomy
  10: (prefix名)_usermeta
  11: (prefix名)_users
  ※(prefix名) ・・・ ユーザ指定のprefix名

★原因
 ・DBのテーブルprefixの変更が不十分

★解決
 テーブルprefix名を変更する際には、
  ・DBのテーブルprefix名を変更
  ・wp-config.phpのprefix名を変更
  ・以下の2テーブル内に存在するprefix名を変更
   1.(prefix名)_usermeta ・・・ フィールド:meta_key
   2.(prefix名)_options ・・・ フィールド:option_name

★状況
 WordPressで記事を投稿した際に、相手サイトにトラックバックができない。

★環境
 ◆サーバーサイド
  ・OS:CentOS 5.5
   ・PHP:5.3.2
    ・WordPress 3.0
   ・Apache:2.2.3

★原因
 ◆トラックバックの際のタイムアウト(時間制限)
  ・デフォルトでタイムアウトが0.01秒と短めに設定されている。
  ・重たいサーバーの場合、トラックバックに失敗する可能性が高くなる!

★解決
 ◆以下のphpを書き換える
  ■対象php
   /wp-includes/cron.php
  
  ■対象箇所
   「cron.php」の234行目付近
    ▲修正前
     wp_remote_post( $cron_url, array(‘timeout’ => 0.01, ‘blocking’ => false, ‘sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );
    
    ▲修正後
     wp_remote_post( $cron_url, array(‘timeout’ => 3, ‘blocking’ => false, ‘sslverify’ => apply_filters(‘https_local_ssl_verify’, true)) );
     ※本修正は0.01秒から3秒に修正。

WordPressで記事を入力した際、ダブルクォーテーションやシングルクォーテーションを入力すると、全角のダブルクォーテーションやシングルクォーテーションになってしまう・・・
これを回避するには、以下の方法があります!

■基本情報
 WordPress MU 2.8.6

■解決方法①
 WordPressの下記スクリプトを変更

 ・変更するスクリプト
  /wp-includes/formatting.php

 ・スクリプト変更前
  $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
  ※「formatting.php」の69行目

 ・スクリプト変更後
  // $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
 ※コメントアウト

■解決方法②
 HTMLコードを書く際に、
  ・シングルクォーテーション -> '
  ・ダブルクォーテーション -> "
 赤字の通りに記述する。

以上です (^^ b

WordPressでスタティックなページを生成してくれるプラグイン「WP Super Cache
ベンチマークの結果は、60倍ぐらいのパフォーマンス得れるとか評判♪

そのインストール方法を紹介します。

1.プラグインをダウンロードする

 wget http://downloads.wordpress.org/plugin/wp-super-cache.0.9.8.zip

 ※WP Super Cache入手先
  http://ocaoimh.ie/wp-super-cache/
  http://wordpress.org/extend/plugins/wp-super-cache/

2.パーミッションの変更

 chmod 777 /(wordpressインストール先)/wp-content

3.プラグイン設定

 ・プラグインの有効化

 ・プラグイン設定
  下記チェックボックスをオンにして「Update Status」をクリック
  □ ON WP Cache and Super Cache enabled

  100131-01_wpsupercache

 ・.htaccessの設定
  下記内容を、WordPressインストール先ルートの「.htaccess」に追記
  htaccessの内容

4.キャッシュの確認

 ページにアクセスしてキャッシュを生成
 さらにもう一度アクセスしてHTMLソースを確認し、ソース一番下に以下のようなメッセージが有れば完了♪

  <!– Dynamic page generated in 11.113 seconds. –>
  <!– Cached page generated by WP-Super-Cache on 2010-01-30 10:43:19 –>
  <!– Compression = gzip –>

最近のWordPressのテーマはほとんどがウィジェットに対応してますが、中には対応していないテーマもあります。
そこで、ウィジェット機能の追加方法を説明します。

※以下の例は、サイドバーウィジェットを2つ追加する例です。
※ウィジェット(widget)機能対応は、WordPress2.2以上です。

Read the rest of this entry »