WordPress メルマガ用ランダム記事一覧

[WordPress] RSSに不正な文字(制御コード)が入り「Input is not proper UTF-8, indicate encoding !」エラーする場合の回避方法

[WordPress] functions.php に記載せずに WordPressのカスタマイズを行えるプラグイン (Code Snippets)

WordPressのサイトにプラグインで設定できるオススメSlider(スライダー)の紹介

[WordPress] リビジョン情報を削除するプラグイン(Better Delete Revision)

WordPress の Contact Form 7 プラグインでスパム回避のために CAPTCHA を表示させてみた

アイキャッチ画像のサイズを出す場所によって変更する方法

WPtouch Mobile Pluginでショートコードが実行されない


[WordPress] RSSに不正な文字(制御コード)が入り「Input is not proper UTF-8, indicate encoding !」エラーする場合の回避方法

wplogo

<

p style=”clear:both;”>

WordPress の RSS が知らぬ間にエラーしていることがあります。
記事本文にUTF8以外の文字が含まれていことで下記のようなエラーを引き起こします。
rsserr_chrome

もちろん、コピー&ペーストなどで入ってしまうものなら削除して回避することも出来ますが、テーマやプラグインのどこかでマルチバイトの処理が正しく行われない場合では、登録した記事本文に問題が無くとも発生してしまうようです。

外部サービスに RSS を読み込ませているような場合は、知らぬ間にエラーして通知できていない等、大変困ります。
本来は根本的な原因を解決すべきなのでしょうが、特定するにも時間が必要なので、取り急ぎエラーを回避するための方法を覚えておきましょう。

お決まりの functions.php に下記を追加すればOKです。
※私の場合は「functions.php」では無く「Code Snippets」)で導入してます。

function remove_controlcharacter($content)
{
  return preg_replace('/[^P{Cc}nr]+/u', '', $content);
}
add_filter('the_excerpt_rss', 'remove_controlcharacter');
add_filter('the_content_feed', 'remove_controlcharacter');

※上記の正規表現はPHP5.1.0以降で有効な表記です。

 
今回は特別に上記をプラグイン化してみました。良かったら使ってください。
□ RSSエンコードエラー対策(制御コード除去)プラグイン

evade_feed_encoding_error.zip (3.27 KB)

※このプラグインは下記のバナーにもある「PHPファイル難読化ツール」で難読化されています。

[WordPress] functions.php に記載せずに WordPressのカスタマイズを行えるプラグイン (Code Snippets)

WordPress のカスタマイズで紹介されている内容には、「functions.php」にPHPコードを追加するようなものを多く見かけます。
テーマファイルがアップデートしてしまったら、「functions.php」の変更内容が失われてしまうため、「functions.php」を編集するのは好ましいことではありません。

これを解決してくれるのが「Code Snippets」というプラグインです。
このプラグインはインストールやプラグインを有効化しただけでは一切何もしません。
使い方は「functions.php」に記載する内容を用途毎に別けてPHPコード・説明文を「Code Snippets」へ登録していきます。
wpp-cs001
登録したら「有効化」するだけで「functions.php」に記載した状態と同じ振る舞いをしてくれるはずです。
※「functions.php」にも記載して内容が重複するとエラーしたりする可能性がありますので注意してください。
 
 
このブログ記事の下部にある。
会社バナーとメルマガ登録の部分も、以前は「functions.php」に書いていました。
このプラグインを利用すれば、一切「functions.php」に手を入れる必要は無くなります。
 
 
「Code Snippets」はデータの登録に独自のデータベーステーブルを利用していますので、バックアップの際には注意が必要です。
登録データをエクスポートする機能がありますから、そちらでバックアップするのも良いでしょう。
 
 
より詳細な使い方は下記で紹介されていました。
>>Code Snippets – functions.phpのPHPコードを管理できるWordPressプラグイン

WordPressのサイトにプラグインで設定できるオススメSlider(スライダー)の紹介

プロが教える WordPress セミナー開催中!

Webサイト上で動きのあるサイトにしたい場合、Flash等を利用する場合が多いですが、iPhone等は表示できないです。
そこで動きをつけるのにはjQueryでスライダーを設置するのが、とても便利です。

WordPressでは、jQueryを利用したスライダーを設置できるプラグインがいくつか公開されているので、数点を実際導入してみて、設置のしやすさ更新のしやすさなどをまとめてみました。

検証したプラグイン

  • Meta Slider Lite
  • Meteor Slides
  • Content Slider
  • Easing Slider Lite

4個のスライダーを設置したサイトを作ってみました。
http://pub.dreamhive.info/slider/

私のオススメ!!
Meta Slider Lite
http://wordpress.org/plugins/ml-slider/

画像の追加方法、公開の方法も簡単で扱いやすいです。
また、スライダーを複数作成でき、たとえば投稿毎にスライダーを変える等も行うことができます。

今回の投稿では、Meta Slider Liteの設定方法を細かく掲載します。
今後は他のスライダーの設置方法も紹介する予定です。

Meta Slider Liteの設定方法

Sliderマニュアル

(1) プラグインを有効化するとメニューに表示されます。メニューをクリックします。
(2) 画像それぞれに表示する文字を記述します
(3) 画像を追加する際にクリックします。 → 下の「画像の追加方法」に詳しく記載します
(4) スライダーのサイズを指定します。
(5) 動作を設定できます
(6) 保存します
(7) 投稿に埋め込む際はShortcodeを利用します
※ [metaslider id=XXX]を投稿内に記載すると、その部分にスライダーが設置できます。
(8) テーマのテンプレートにスライダーを設置する場合はクリックします
※< ?php echo do_shortcode("[metaslider id=XXX]"); ?> をテンプレートの一部に記載します。
(9) 別のスライダーを作成する場合にクリックします。

画像の追加方法

Slider-image1
画面上に画像をドラッグします

Slider-image2
(1) 画像を選択します
(2) リストに画像を追加します

[WordPress] リビジョン情報を削除するプラグイン(Better Delete Revision)

WordPressには、固定ページや投稿を編集した履歴データを「リビジョン」として管理保存しています。
(表示オプションのリビジョンのチェックボックスで表示、非表示が可能です)

当然ながら、リビジョンを管理するということは、全ての編集履歴を保存しているわけですから、莫大なデータ量が必要となります。
これを掃除するためのプラグインの紹介になります。

「Better Delete Revision」は保存されている履歴データを一括で削除することができます。
(この他のにもデータベースを最適化する機能があります)

bdrm01

bdrm02

こんな感じでリビジョンデータを削除することができます。
複数人で編集作業していないサイトでしたら、キリの良いタイミングで削除してみてはいかがでしょうか。
制作途中のサイトを公開するタイミングで一旦綺麗にする意味で削除したりもしますね。

WordPress の Contact Form 7 プラグインでスパム回避のために CAPTCHA を表示させてみた

プロが教える WordPress セミナー開催中!

背景

Contact Form 7 で作られている問い合わせフォームへのボットによるスパムが増えている弊社の管理サイトがあ、対処方法を検討する必要がありました。

対処方法

ボットへの対処方法としては、CAPTCHA (キャプチャ)、つまり画像を表示してその内容の入力を必要とすると言う人間でないと分かりづらい入力項目を作ると言う方法を取りました。

キャプチャの入力項目とは、この様なものですね。
wordpress_cf7_captcha

利用方法

Contact Form 7 は CAPTCHA との連携機能を持っています。
ただし、Really Simple CAPTCHA と言うプラグインを別途必要としますので、あらかじめプラグインメニューから追加しておきましょう。

これらをフォームのタグに指定していきます。

  1. WordPress の「お問い合わせ|コンタクトフォーム」メニューから、編集したいフォームを選択します。
  2. フォームのタグに、オプションを追記します。
    例)

    ■キャプチャ(必須):
    [captchac captcha size:m]
    次のテキストボックスに、画像に書かれた文字を入力してください。
    [captchar captcha]
    

この例では、キャプチャの画像を表示するショートコードとして「[captchac captcha]」を、
キャプチャの入力を行うテキストボックスを表示するショートコードとして「[captchar captcha]」を指定しています。

「[captchac]」と「[captchar]」とで指定する名前「captchar」は必ず一致させる必要があります。
他の Contact Form 7 のタグと使い方は一緒ですね。

「[captchac captcha]」の「size:m」は画像サイズの指定です。

参考:本家の説明

まとめ

WordPress では複雑な CAPTCHA(キャプチャ) を用いるプラグインなども存在しますが、ボットによるメールスパム程度であれば、大部分が今回の記事の方法で防ぐことができると思います。

アイキャッチ画像のサイズを出す場所によって変更する方法

WordPressで企業サイトなどを作成している時に、サイドバーとカテゴリー一覧で利用するアイキャッチのサイズや縦横比の異なる画像を利用したい場合の対処方法。

処理のイメージとしては、画像登録時に予め、画像サイズや縦横比を変更して登録するイメージです。

対応方法

functions.phpに追記

add_image_size('thumb01',150,150,true);   //【1】
add_image_size('thumb02',265,84,true);    //【2】

呼び出し方法

表示側のテンプレートに以下を記載

< ?php the_post_thumbnail(‘thumb02’); ?>

以上です。

WPtouch Mobile Pluginでショートコードが実行されない

WordPressのサイトをスマホ用サイトにする場合に多く利用されているプラグインWPtouch Mobile Plugin
私も利用しているのですが、固定ページで記述しているショートコードが実行されない問題が発生しました。

確認画面を見ると、[shortcodemei]とショートコードの記述そのまま表示されてしまっていました。

理由は、テーマフォルダのfunctions.phpに記述したショートコード用の処理は実行されないようです。

対策としては、ショートコード部分をプラグイン化するだけで、簡単に表示することが出来ます。

functions.phpに記述された、ショートコードの処理をプラグインにする方法は、別途紹介を致します。

メモで記述致しました。

あなたの IT の疑問・不安をすべて解決するコンシェルジュ サービス