WP-TRIPで「The day before WordCamp Europe 2018 in Serbia with Jon Brown」を公開しました

ヨーロッパで開催されるWordCamp Europe 2018に参加するために、セルビアのベオグラードにきています。
開催の前後ではWordCamp Europeに参加する人たちのために GoDaddy が、パートナー向けに利用しているオフィスを開放してくれて、食事・飲み物・市街地のツアーをサポートしてくれました。

そこで、WordCamp Tokyoにも参加したことのある、ジョン・ブラウンさん (Jon Brown) に遭遇。
現在、ジョンさんと奥さんは家を持たずに世界中を旅しながら暮らしています。

WordCamp TokyoでハワイのWordCampについて話をしたので、多くの人が「ジョンさんはハワイに住んでいる」と思っていると伝えました。僕が「ハワイに住んでいないよ」と言っても誰も信じてくれないので、どこに住んでいるか答えてもらいました。

The day before WordCamp Europe 2018 in Serbia with Jon Brown

違う時代を生きる同じ遺伝子

今年初めて親父と呑んだ。

僕のことを自由奔放や自己主張が強い・うるさい・デリカシーがないと言う人がいるが、その個性は親父から受け継いでることは間違いない。(彼は僕の10倍くらいのアクの強さだから…)

そんな親父が新しい事業を仲間と始めるらしく、ウェブに精通している僕へ相談をしたかったらしい。

詳しい内容は割愛するけど、デジタルマーケティングとかカスタマージャーニー・カスタマーセントリック・Lean UXの話を小売業を30年近くやっている人たちに専門用語を使わずに話した。

普段は少し難しくても端的に伝わる小難しい言葉を使って説明してるけど、専門用語を使わずに親子の会話のようにナチュラルに喋ることでさらに理解は深まったと思う。

商売を30年続けた父は僕の説明をうけて「俺もそうだったけど、自分が言いたいことよりも相手が不満に思う事を引き出して形にしてあげるのが商売の基本だぞ」と言う父。

うるせーよ、と思いながら未来の自分から助言を受けているようで身にしみている…。

思えば、僕は親父に似ていて幼い時は「お父さんにそっくりね」と言われて喜んでいた。

僕の生き方は良いところも悪いところも親父にそっくりで、我が子をみながら自分の過去を重ねなにかアドバイスをしたくなってしまうのだろう。

そんな親父と話して感じたことは2つ。

彼の個性は僕のそれにとても似ている。だから僕自身の大切な人に”個性の批評”をしてもらうよりも、親父の大切な人に批評をしてもらった方が率直な意見と真意を聞けると言うこと。

もう一つは、この半年間に僕は多拠点とその体験を求めて男木島で畑を耕し、海で漁をした。親父は畑を耕し、古民家を改築して、川で釣りをする体験を提供しようとしている。

生きてる時代は違くても同じ時は生きていて、似たようなことしている親子って面白い。

自分は大切な人たちにどんな想いをさせてるのかと思った日だった。

Simple WordPress Membershipでフォームをカスタマイズする時に通知だけ表示する

Simple WordPress Membershipという会員機能を手軽に実装できるプラグインを活用した開発をおこなっています。
フォームのマークアップを変えたいのですが、フックするのは何かと面倒そうなのでテンプレート階層でカスタムしたフォームのテンプレートを作成しているのですがお知らせ・通知が表示されなく困まったので、とりあえず通知を出せる方法です。

Shortcodes Summary List for the Simple Membership Plugin – Membership Plugin

上記の公式ドキュメントからカスタマイズしたいフォームのショートコードを探します。
サンプルとしてPassword Reset Page Shortcodeの箇所にある[swpm_profile_form]を使います。

<?php do_shortcode( '[swpm_profile_form]' );?>

このようにフォームのカスタマイズした冒頭でショートコードをechoせずに実行します。
Simple WordPress Membershipの場合は、

WooCommerceでStripe決済を導入する時のエラーの解決方法

WooCommerceでStripe決済を導入しようとプラグインをいれて設定してみたのですが『Sorry, we are unable to process your payment at this time. Please retry later.』と表示されてしまい決済が進みません。

今回は実際にエラーを解決した手順と、WooCommerceを利用してECサイトを作る時のエラーの解決方法について書いていきます。

この記事でのエラー解決方法は、テストモードを有効可しているか本番用のAPIキーを取得して登録している状態が前提となります。

エラーの解決手順

まずはエラーの原因を特定する必要があります。利用しているテーマやWooCommerce以外の他のプラグインに原因がある場合があるので、まずはWooCommerceとStripe以外のプラグインを無効化してテーマをWooCommerceが推奨するデフォルトテーマであるStorefrontに変更します。
細かい詳細は下記のとおりです。

プラグインが競合 (悪さ) しているか調べる

  1. プラグインをすべて無効化する
  2. WooCommerceとStripeのプラグインを有効可する
  3. 商品を購入する
  4. まだエラーがでる場合はプラグインの競合はないので、テーマのチェックに進む

テーマが競合 (悪さ) しているか調べる

  1. テーマをWooCommerceが推奨するStorefrontに変更する
  2. WooCommerceとStripeのプラグインだけを有効可する
  3. 商品を購入する
  4. まだエラーがでる場合はプラグインの競合はないので、エラーログのチェックにすすむ

エラーログの確認

  1. WooCommerce > 購入手続き > Stripe のページに移動
  2. 『デバッグメッセージのログを取得』にチェックをいれて設定を保存する
  3. 商品を購入する
  4. WooCommerce > ステータス のページの『ログ』タブを選択する
  5. woocommerce-gateway-stripe-xxxx.log (2018年xx月xx日 @ xx:xx )を選択し、表示をクリック
  6. 一番下にある最新のログを確認する
  7. ログのmessageの内容を調べてみる

上記の流れで大抵のことは解決されると思います。
プラグインとテーマが競合していないかどうかを調べたあとは、ログの取得をしてメッセージを知らべます。
今回は下記のようにエラーログが取得できました。

====End Log====


04-25-2018 @ 20:20:42 - 
====Stripe Version: 4.1.2====
====Start Log====
Error: stdClass Object
(
    [error] =&gt; stdClass Object
        (
            [message] =&gt; The statement descriptor must contain at least one alphabetic character.
            [param] =&gt; statement_descriptor
            [type] =&gt; invalid_request_error
        )

)

====End Log====

問題の部分は “[message] =>” に記載されている「The statement descriptor must contain at least one alphabetic character.」です。
これはStripeのステートメント記述子をアルファベットにしろということです。Stripeの設定画面から該当の箇所を見ると日本語で入力されていたため、こちらをアルファベットに変更したところ無事決済ができました。

WordPressやWooCommerceや決済系などの公式プラグインはユーザも多いので「プラグインのせいで動かない」という可能性は極めて少ないと思います。
多くの場合は、自分の設定ミスやWordPressの公式ディレクトリに掲載されていない質の悪いプラグインやテーマを使っているところにあるはず。
そんな時は、すべてのプラグインを無効化しテーマをデフォルトのtwentyfifteenなどのに変更してエラーログを見れるようにしてみましょう。

wp-instant-setupでWordPressのローカル開発環境を構築しようと思ったら動かなかった

問題点・症状

  • miyaさんからforkしたオレオレ・インスタントセットアップがうがかなかった
  • DBあたりがうまく動いていない感じ
  • wp-config.phpを削除すると初期設定画面が表示される
  • mysqlにはターミナルから入れる
  • MAMPは使ってない
  • OSはMacのHightSierra

解決策

  • brew install homebrew/php/php70でPHP7をインストール (もとからPHP7っぽかったけど…)
  • よくわからないけど治る