カテゴリー別アーカイブ: WordPress

iconicon.jpg

WordPress管理画面の TinyMCE Advanced などのアイコンが文字化けして表示されないときの対処方法

Icon

突然管理画面内のアイコンが文字化けするときがあります。
場所をおぼえている項目であれば、そのまま使い続けることが可能ですが、TinyMCE Advanced などのツールプラグインの場合は
非常に困り作業に影響がでます。

アイコンが文字化けしたときの対処方法です。

管理画面の TinyMCE Advanced などのアイコンが文字化けして表示されないときの対処方法

原因の多くは『WP Multibyte Patch』のアップデートで改善できます。

  1. 管理画面の画面上に表示されているツールバーにある
    「更新」ボタンを押します。

    Update

  2. 『WP Multibyte Patch』のプラグインが最新になっているかを確認してください。
    最新版でないときにはアップデートを行います。

    Ml

  3. Ionc

    プラグインアップデート後、無事文字化けが解消されました。

menta

「現在メンテナンス中のため、しばらくの間ご利用いただけません。」の表示が出たときの解決方法(プラグイン更新中に不具合が起こった時の対処)

menta

プラグイン更新中にリロードしてしまったり画面を戻してしまったりした場合に、
不具合が起こりメンテナンスモードに入ってしまい、「現在メンテナンス中のため、しばらくの間ご利用いただけません。」の表示がでる場合があります。(旧予定に基づいたメンテナンスを行っているためしばらくの間ご利用できません。少し間をおいて再度確認してください。)

プラグイン更新中にブラウザの読み込みを中止した場合などに起こります。
更新時にメンテナンスモードに移行しているためこの表示がされます。

解決方法

WordPressを置いているディレクトリ,
wp-config.phpがあるディレクトリに.maintenanceファイルが作成されます。
.maintenanceファイルを削除します。
削除するとメンテナンスモードが解除されますので、再びプラグインを更新します。

mainten

なお.maintenanceファイルは.ataccess同様ドットで始まる不可視ファイルなので、
FTPクライアントの不可視ファイルを見られるように設定しておく必要があります。

下の画像はFTPクライアントアプリ「Transmit」の場合です。

メニュー > 表示 > 不可視項目を表示を押すとドットで始まる不可視ファイルが一覧に表示されます。
transmit

■環境

WordPress 3.9.1
Transmit 4.4.6

ee39872aa0d772937798d2d8578cddd9.jpg

All in One SEO Packに脆弱性が発覚。使っていたら2.1.6へバージョンアップしよう

WordPress All in One SEO Pack WordPress Plugins

WordPressのSEO対策プラグインに脆弱性 – ITmedia エンタープライズによるとWordPressのSEO対策プラグイン『All in One SEO Pack』に脆弱性が見つかったとのこと。

Sucuriによると、All in One SEO Packには権限昇格とクロスサイトスクリプティング(XSS)の2件の脆弱性があり、同プラグインの修正前のバージョンを導入している全サイトが影響を受ける。

 悪用された場合、ログインしたユーザーがAll in One SEO Packの特定のパラメータに手を加えることが可能だった。SEOタイトルやWebサイトに関する説明内容、キーワードのメタタグなどが変更され、検索結果ページの表示順位を意図的に下げられる恐れもあるという。

サイト制作者であれば、『検索結果ページの表示順位を意図的に下げられる恐れもあるという』この1文に脅威を感じるはず。
新バージョンの2.1.6で修正されたようですので、アップデートをオススメします。

プラグインのアップデートはメニューバーのアップデートアイコン、もしくはプラグインの一覧ページからアップデートが可能です。

Update

Pluibgin

42c42280d88638469a66e7867a0fba5a.jpg

WordPressの画像のアップロードが遅くなったりUpload FailedのメッセージがでたらWP Smush.itのプラグインを疑おう

WordPress WP Smush it WordPress Plugins

表題に関して『Smush.it』という画像を最適化してくれるWEBサービスがあります。
見た目は変わらずにファイルサイズを小さくしてくれる便利な機能です。

『Smush.it』の機能をWordPressにも搭載できる「WP Smush.it」というプラグインがあります。
「WP Smush.it」を有効化しておくと画像のアップロード時に『Smush.it』の処理を同時にしてくれて
アップロードした画像が最適化された状態でサーバーへアップされます。

もちろん【 メディア > ライブラリ 】からの
画像最適化も可能で、ファイルサイズを減らす事で画面表示が早くなることからSEO効果も期待できます。
Media

非常に良い機能ではありますが、『Smush.it』で画像を処理してもらうためには少し時間がかかるため
アップロード画像数が多数になると処理時間が長くなりタイムアウトしてしまって画像アップができないことがあります。

特にMarsEditなどのテキストエディタではFailedと表示されるだけで、
エラーの原因を追求できません。

Upload

もし画像アップロードがやけに時間かかってるなと感じたら、
気がつかずにインストールしていたWP Smush.itを疑ってはどうでしょうか?

wordpresspasswordpasword.jpg

WordPressユーザー名とパスワードを忘れた時のphpmyadminを使ってログインする方法

Pasword

WordPressユーザーのパスワードを忘れてしまうことがあると思います。
WordPress3.5.1では「パスワードをお忘れですか ?」のリンクをクリックしたあとの画面から
ユーザー名またはメールアドレスを入力することでリセットができますが、
ともに分からない場合ログインができなくなってしまいます。

この場合にはphpmyadminを利用することで、パスワードをリセットしてログインすることができます。
WordPressユーザー名とパスワードを忘れた時のphpmyadminを使ってログインする方法です。

WordPressユーザー名とパスワードを忘れた時のphpmyadminを使ってログインする方法

[1]
phpMyAdminへログインします。
対象のデータベースを選び、接頭辞_usersのテーブルの表示アイコンをクリックします。

Phpmyadmin

[2]
user情報が保存されているテーブルデータが表示されます。
鉛筆のアイコンをクリックします。
user_loginに書かれている名前がユーザーの名前です。
Phpmyadmin2

[3]

フィールドの
user_loginの値がユーザーネーム。
user_passの値がパスワードです。
関数のプルダウンでMD5を選び、値に変更したいパスワードを入力して、
右下の実行をクリックします。

Phpmyadmin3
関数:MD5を選択。
値:変更したいパスワードを入力。

実行後パスワードが変更されます。
WordPressの管理画面へ移動。
user_loginの値をユーザーネームへ入力し、
書き換えたパスワードを入力しログインします。

Duplicate-Post-sectiondu1.jpg

『Duplicate Post』テンプレート記事を複製したいときに、ワンクリックでコピーできるプラグイン

『Duplicate Post』はWordPressの投稿記事を複製できるプラグインです。
テンプレート用の記事を用意しておいて、複製ボタンを押してガンガン記事をつくるなど
記事を量産したいときはおすすめのプラグイン。
アタッチメントファイルやカテゴリーのチェック内容やタグもそのままコピーされるので
似た記事を作成するときには非常に役立ちます。

動作環境

WordPress3.3.2
プラグインバージョン2.4.1
続きを読む

xserver

xserverを使っていて管理画面が突然白くなったりInternal Server errorがでたらメモリ不足を疑え


先日XSERVER利用時に、非常にこまったので記録。

Google Chromeで閲覧していたときに、Internal Server errorが頻発し、ページが表示されない。
原因がわからず非常に困っていました。

Firefoxに変更して閲覧した際に、画面が真っ白になったので気が付きました。
真っ白になる=phpのFatal Errorが表示されていることが多いのです。

XSERVERはデフォルトでphp.iniの設定がdisplay_errors=offになっています。

display_errors=offだとphpのエラーがブラウザで表示されません。
運用サーバーですとphpのエラーログが見られるためこれでよいのですが、
先日はエラーログの見方をしらなかったためパニクってしまいました。
エックスサーバー マニュアル | レンタルサーバー マルチドメイン無制限【エックスサーバー】

エラーを表示させるようにphp.iniの設定をサーバーパネルより変更後、
ブラウザで閲覧すると

PHP Fatal error: Allowed memory size of xxxxxxx bytes exhausted

とでたため、php.iniの「memory_limit」の数値をxxxxxxxよりあげることで回避できました。

jetpack1

Jetpack 1.3.4 からはスパム対策付きのコンタクトフォームが使えるようになった。


Jetpack 1.3.4 からはスパム対策付きのコンタクトフォームが使えるようになりました。
コンタクトフォームのプラグインは多いのですが、contact form7のようなスパム対策が付いているプラグインは
あまりないようなので重宝しそうです。

日本語でラベル名を入れると、再編集時に表示されないことや
フォームの上下レイアウト時に入力したフォームがまとまって動くバグがあるようです。
手軽ですが、不安定な要素が多いので、安定版が出るまではおすすめしません。

環境

WordPressバージョン 3.3.2
jetpack 1.3.4

使い方

Jetpackを1.3.4にアップグレードします。
Jetpackを利用する時にはWordPress.comのアカウントが必要です。
コンタクトフォームのスパム対策にAkismetがつかわれているようですので、Akismetのアカウントも必要になります。

Jetpackのコンタクトフォームは投稿記事、ページで利用できます。
アップグレード後は画像をアップロードするボタンが下記のように変わっているはずです。

一番右のアイコンをクリックします。

「Add a new field」をクリックします。
フィールドの入力欄(input)は5つまで設置できます。

フィールドの入力欄が表示されるので埋めこんでいきます。

ラベルは入力欄の上に表示される文字。

Fiel typeでは入力欄のタイプを指定します。

  • Checkbox
  • Drop down
  • メールアドレス
  • 名前
  • Radio
  • Text
  • Textarea
  • ウェブサイト

「Required?」にチェックを入れると必須欄になります。
内容を決めたら「Save this field」をクリックします。
フォームを削除する場合は右側の「マイナスアイコンをクリックします」

Email notificationsでは連絡先アドレスと件名を指定できます。

追加し終わったら「Add this form to my post」をクリックするとショートコードが
追加されます。

wp3.3.2

WordPress3.3.2のアップデート開始

wp3.3.2

WordPress3.3.2のアップデート開始 されました。
同時にWordPress 3.4 ベータ 3 の利用開始も始まっています。

以下更新内容です。

  • ◯前バージョンのPlupload と SWFUpload のバグへのセキュリティアップデート
  • ◯特定の状況下で WordPress のネットワーク運用時にサイト管理者がネットワーク全体でプラグインを停止できる制限された権限昇格。WordPress
  • ◯コアセキュリティチームの Jon Cave と Adam Backstrom によって明らかにされました。
  • ◯URL をクリッカブルにするときのクロスサイトスクリプティング脆弱性。
  • ◯古いブラウザーのコメント投稿後のリダイレクトおよび URL のフィルタリング時のクロスサイトスクリプティング脆弱性。

WordPress内からXML-RPCを利用して記事投稿を行う方法

xml-RPC
WordPress内からXML-RPCを利用して記事投稿を行う方法です。

XML-RPCとは

RPCプロトコルの一種であり、エンコード(符号化)にXMLを採用し、転送機構に HTTP を採用している。非常に単純なプロトコルで、少数のデータ型やコマンドだけを定義しているだけであり、その仕様は2枚の紙にまとめられる。これは多くのRPCシステムが膨大な量の規格を規定し、実装に多量のプログラミングを要することに比べると、際立った特徴と言える
XML-RPC – Wikipedia

XML-RPCを利用するとWordPressの管理画面に入ることなく
WordPressの投稿記事を書くことができます。

このエントリではWordPressでphpを実行して違うWordPress記事投稿を行います。

手順

参照したソースコードは
[WordPress]XML-RPCを利用して外部から投稿したりする。 | WEBプログラム覚書
のものを利用させていただいています。

[1] XML-RPCの設定を行います。

xml-RPC
投稿先の管理画面で

設定 > 投稿設定 > リモート投稿

の「XML-RPC WordPress、Movable Type、MetaWeblog および Blogger XML-RPC 投稿プロトコルを有効にする。」
にチェックをいれて設定を保存します。

[2]WordPress内でZend Frameworkが利用できるように
『WP Zend Library』のプラグインをインストールします。

詳細は
『WP Zend Library』WordPressでZend Frameworkを使えるようにするプラグイン | WordPress攻略本
に記載しています。

[3]phpを書きこむページを用意する

編集するページはどこでもかまいません。
例としてphpを実行するための固定ページを新規に用意します。

theme内のpage.phpを複製して、ファイル名をtest-xml-rpc.phpとします。
test-xml-rpc.phpの冒頭部分にテンプレート名を指定します。

<?php
/*
Template Name: test-xml-rpc.php
*/
?>

保存後、固定ページ作成画面の
ページ属性 > テンプレートからtest-xml-rpc.phpを選び保存します。
xml-RPC

[4]phpを編集する

XML-RPCのライブラリとして、 Zend FrameworkのZend_XmlRpc_Clientを利用します。
Zend Framework: Documentation: Zend_XmlRpc_Client – Zend Framework Manual

 <?php

  // URI、ログインユーザ名とパスワードの設定
 $uri = 'http://wordpress.domain/xmlrpc.php';
 // 投稿先WordPressのログインユーザー名			
 $user = 'username';
 // 投稿先WordPressのログインパスワード		
 $passwd = 'password';


  
 $client = new Zend_XmlRpc_Client($uri);

  

 // 接続してブログの基本情報を取得

 // 失敗すると例外がスローされる。

  

 try {
    //wp.getUsersBlogsはWordPress内で定義されているメソッドなのでこのまま
     $infos = $client->call('wp.getUsersBlogs', array($user, $passwd));

  

 } catch (Zend_Exception $e) {

     echo $e->getMessage();

 }

  

 echo '<h2>ブログの基本情報</h2>';

 echo '<pre>';

 var_dump($infos);

 echo '</pre>';

  

 // blog ID 基本的に1。

 // 3系では複数のブログが管理できるようなので増えるのかも?

 $blog_id = $infos[0]['blogid'];



 // 投稿データの作成

 $contents = array(
	//記事件名
     'title'             => 'テスト投稿',
	//カテゴリ名を日本語名で指定
     'categories'        => array('インテリア', '建築'),
	//カスタムフィールドがあれば指定 なければnull
     'custom_fields'     => array(array('key' => 'field_key1', 'value' => 'field_key1のvalue'),

                                  array('key' => 'field_key2', 'value' => 'field_key2のvalue')

                                 ),
	//記事本文
     'description'       => 'テスト投稿の本文',

     'dateCreated'       => null,
	 //記事のスラッグになる
     'wp_slug'           => 'xml-rpc-testpost',

     'mt_allow_comments' => null,

     'mt_allow_pings'    => null,

     'mt_convert_breaks' => null,

     'mt_text_more'      => null,
 //記事の抜粋に入る
     'mt_excerpt'        => 'Wordpress XML-RPCのテスト',
	//記事のタグに入る
     'mt_keywords'       => array('icon', 'インスピレーション'),

     'mt_tb_ping_urls'   => null,

 );

  

 // 公開設定 falseだと下書きの状態
 // true で公開
$publish = false;

  

 // 投稿を実行
//metaWeblog.newPostはWordPress内で定義されているメソッドなのでこのまま
 $result = $client->call('metaWeblog.newPost',

                         array($blog_id, $user, $passwd, $contents, $publish)

                         );

  

 echo '<h2>実行結果 成功するとPost IDが返ってくる</h2>';
 echo '<pre>';
 echo $result;
 echo '</pre>';
 ?>

test-xml-rpc.phpを実行するたびに投稿記事が作成されるようになります。