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

[PHP] WordPressのプラグインを作ろう(1)
https://goo.gl/lpBGH2

[WordPress] Contact Form 7 (コンタクトフォーム) でカレンダーを使った日付選択をさせる (Contact Form 7 Datepicker)
https://goo.gl/vOxTvw

「Warning: POST Content-Length of POST NNN bytes exceeds the limit of XXX bytes in Unknown on line 0」が出た:解決
https://goo.gl/sj95ZD

WordPress の Contact Form 7 プラグインでスパム回避のために Akismet を連携させてみた
https://goo.gl/bnqAP9

[WordPress] 記事の一覧などを表示させようとして、記事が重複して表示されたら
https://goo.gl/azlgv4

[WordPress] Jetpackプラグインの生成するOGPタグ(og:image)のデフォルト画像を変更したい
https://goo.gl/1J3x8X

[WordPress] SyntaxHighlighter Evolvedプラグイン
https://goo.gl/mN2qjj


https://goo.gl/L6z4lF

[PHP] WordPressのプラグインを作ろう(1)

いわゆる「Hello world」的なプラグインを例に説明していきます。

まずは、PHPファイルをWordPressにプラグインとして認識させる必要があります。
プラグインのPHPファイルを作成して、以下のように記述します。

<?php
/*
Plugin Name: wpp-sample-hw
Plugin URI: http://dhive.jp/
Description: フッターに「Hello world」と表示させます
Author: mkoba
Version: 0.01
Author URI: http://dhive.jp/blog/mkoba/
*/
?>

上記のファイルを「/wp-content/plugins/」に配置します。
ファイル名はどんな名前でもかまいません。
関連するファイルが複数になる場合は、見やすいようにサブフォルダを作成して配置します。
※殆どのプラグインがサブフォルダを作っています。


こんな感じで表示されます。

[WordPress] Contact Form 7 (コンタクトフォーム) でカレンダーを使った日付選択をさせる (Contact Form 7 Datepicker)

jQuery の Datepicker というカレンダー選択を WordPress の Contact Form 7 と連動させるプラグインの紹介です。
(Contact Form 7 のアドオン的なプラグインなので Contact Form 7 を導入してご利用ください)

まずプラグインをインストールして有効化します。(Contact Form 7 Datepicker で検索)
そうすると、Contact Form 7 で作成したフォームの編集画面を開くと下記のように「Datepicker Theme」が追加されます。
cf7dp01
↓ 展開後 ↓
 
ここでカレンダーのデザインを選択します。
cf7dp02

次にフィールドを作成する部分に Datepicker のフィールドが追加されています。
cf7dp03

下の例は一番複雑な「Date Time field」を選択したイメージです。
cf7dp04
細かい設定が可能なので、日付を未来しか選べないようにしたり、時間を30分単位にしたり、目的に応じてカスタマイズが可能です。
ちなみにdate-formatで日本語「yy年・・・」とかは使えませんでした。。。残念



弊社代表(ドリームハイブ代表 山本 悟)がお送りしている無料のメルマガです。
興味がございましたら、是非ご登録ください!!


「Warning: POST Content-Length of POST NNN bytes exceeds the limit of XXX bytes in Unknown on line 0」が出た:解決

発生した問題

PHP で作ったシステムでファイルをアップロードしようとしたところ、
「Warning: POST Content-Length of POST NNN bytes exceeds the limit of XXX bytes in Unknown on line 0」が出ました。

PHP 環境で良くある警告ですね。

原因

php.ini の post_max_size に指定した値よりも、大きな POST データを受け取ったときに発生する警告メッセージです。

POST データはアップロードするファイルも対象となるため、大きなファイルをアップロードする際にも同様の警告メッセージが表示されます。

解決方法

post_max_size に、必要となるサイズを記述しましょう。

なお、ファイルのアップロードの最大サイズは、php.ini の upload_max_filesize の設定値にも影響を受けます。

post_max_size を変更する際には、同時に確認するのが良いでしょう。

まとめ

WordPress をローカル環境にインストールした場合などでも同様の警告が表示される場合があります。
構築した PHP の設定を確認の上、適切な値を設定しましょう。

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

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

背景

最近会社のサイトに設置した Contact Form 7 で作られている問い合わせフォームへのスパムが1日に10数通届くというメンドクサイ状況になっていました。

解決方法

さすがに手動でスパム判定するのも面倒ですので、何か仕組みを作ろうと思って最初に取り組んだのが、Akismet との連携です。

Akismet は WordPress に標準で組み込まれているスパムフィルターのプラグインです。
プラグインを有効化し、WordPress.com で取得した API キーを設定するだけで利用できます。

組み込む手順

Contact Form 7 で Akismet と連携できる項目は、
「送信者の名前(author)」「送信者のメールアドレス(author_email)」「送信者の URL(author_url)」の3つです。

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

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

    名前のチェック:[text* your-name akismet:author]
    メールのチェック:[email* your-email akismet:author_email]
    URL のチェック:[text your-url akismet:author_url]
    

この機能がきちんと動いているかテストするためには、送信者に「viagra-test-123」を指定します。

参考:本家の説明

注意点

このオプションを指定した場合、「akismet:」で指定した項目はすべて Akismet に一度送られます。
そのため、送信ボタンを押してから反応が返ってくるのに時間がかかる場合があります。

まとめ

Akismet をスパムフィルターに利用する事で、最近増えてきた日本語でのスパムなどにも対応できました。
パフォーマンスに影響を及ぼすオプションですが、用途に合わせて適宜利用するのが良いと思います。

[WordPress] 記事の一覧などを表示させようとして、記事が重複して表示されたら

テーマファイルの構造を気にしないで、最新の記事を表示させるロジック(PHPプログラム)を記載すると、たまに発生する内容です。
PHPプログラムが詳しくない方は、自分が追加したロジック(PHPプログラム)の最後に下記を付け加えると解決するかもしれません。

<?php wp_reset_query(); ?>

wp_reset_query()」の説明にあるとおり、「query_posts() 」を利用するのは推奨されていません。
※「query_posts()」を使ったロジック(PHPプログラム)の説明をよく見かけますが、追加変更する場合は注意が必要です。

また、どこにでも「wp_reset_query()」を入れておけば良いわけではありませんので、テーマファイルの構造を理解することが重要です。



弊社代表(ドリームハイブ代表 山本 悟)がお送りしている無料のメルマガです。
興味がございましたら、是非ご登録ください!!


[WordPress] Jetpackプラグインの生成するOGPタグ(og:image)のデフォルト画像を変更したい

<

p style=”clear:both;”>

Jetpack プラグインでは投稿で使われた画像が OGP 画像として登録されます。
しかし、以下の2つケースではwordpress.com のデフォルト画像(http://wordpress.com/i/blank.jpg)がセットされてしまうのです。
これを理由にJetpack のOGP を嫌っている人もいるのではないでしょうか。

ちなみに、wordpress.com のデフォルト画像はこれです。(いわゆる空画像です)
デフォルト画像

今回もプラグインやテーマのファイルを直接修正するのはNGでいきます!
参考にしたブログでも紹介されていた「functions.php」に記載する方法(実際には「Code Snippets」)で導入します。

function add_default_image( $tags ) {
    if ( $tags['og:image'][0] == "http://wordpress.com/i/blank.jpg" ) {
        unset( $tags['og:image'][0] );
        $tags['og:image'][0] = '自分の設定したいデフォルト画像のURL';
    }
    return $tags;
}
add_filter( 'jetpack_open_graph_tags', 'add_default_image' );

上記の内容に色々手を加えていけば、別なOGPタグをセットすることも可能です。

 
詳しいやり方が載っている参考にしたブログです。(英語)
[Kynosarges Weblog] Default OpenGraph Image for Jetpack

[WordPress] SyntaxHighlighter Evolvedプラグイン

追加したプラグインの紹介:SyntaxHighlighter Evolved

[sourcecode language=”タイプ”]
ここにコードを書くよ
[/sourcecode]

よく使いそうなタイプ

  • csharp
  • css
  • delphi
  • javascript
  • objc
  • perl
  • php
  • text
  • powershell
  • sql
  • vb
  • xml

実際に使うと以下のように表示される。

<?php
     phpinfo();
?>

※ソースコードを実体参照変換しなくても良いのは助かる

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